美文网首页
The This Keyword

The This Keyword

作者: 灯火葳蕤234 | 来源:发表于2019-03-16 00:02 被阅读0次
const person = {
  name: "LT",
  walk() {
    console.log(this);
  }
};
person.walk();
const walk = person.walk;
walk();
  • js中的this表现行为与别的语言不同
  • 在js中,this总是返回一个当前对象的引用。
  • this的取值,取决于函数是如何被调用的。
  • 如果你使用对象的形式调用方法,this永远返回这个对象。如:person.walk();
  • 但是,如果你在对象外部使用单独函数的方式来调用,this这时候指向的是浏览器的全局对象,也就是window。如:walk(); 但是在这里,我们调用walk(); 不是返回的window而是undefined,那是因为在react当中,严格模式是默认启用的(严格模式可以理解其一种更严格执行代码的模式,它防止更多可预见的错误产生)

绑定this

  • 怎么做到无论何时this都指向对象本身?
    因为在js中函数也是对象,我们使用const walk = person.walk.bind(person);来传递this的值,将person对象传递给walk作为walk中this的固定值。
    这样,调用walk();返回的就是person对象。

相关文章

网友评论

      本文标题:The This Keyword

      本文链接:https://www.haomeiwen.com/subject/ptidmqtx.html