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
网友评论