JavaScript中如何详细理解this关键字的使用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1968个文字,预计阅读时间需要8分钟。
目录 + this的绑定 + call与apply + 当方方法失去this的时候,this不再指向谁? + 不可见的调用 + 总结 + 先举一个生活例子:小明正在跑步,他看起来很开心,这里的小明是+ 主语,如果没有这个主语,那么他看起来很开心这句话就没有明确的主语了。
目录
- this的绑定
- call与apply
- 当方法失去主语的时候,this不再有?
- 不可见的调用
- 总结
先举一个生活例子:
小明正在跑步,他看起来很开心
这里的小明是主语,如果没有这个主语,那么后面的代词『他』将毫无意义。有了主语,代词才有了可以指代的事物。
类比到JavaScript的世界中,我们在调用一个对象的方法的时候,需要先指明这个对象,再指明要调用的方法。
var xiaoming = { name: 'Xiao Ming', run: function() { console.log(`${this.name} seems happy`); }, }; xiaoming.run();
在上面的例子中,第8行中的xiaoming指定了run方法运行时的主语。因此,在run中,我们才可以用this来代替xiaoming这个对象。可以看到this起了代词的作用。
本文共计1968个文字,预计阅读时间需要8分钟。
目录 + this的绑定 + call与apply + 当方方法失去this的时候,this不再指向谁? + 不可见的调用 + 总结 + 先举一个生活例子:小明正在跑步,他看起来很开心,这里的小明是+ 主语,如果没有这个主语,那么他看起来很开心这句话就没有明确的主语了。
目录
- this的绑定
- call与apply
- 当方法失去主语的时候,this不再有?
- 不可见的调用
- 总结
先举一个生活例子:
小明正在跑步,他看起来很开心
这里的小明是主语,如果没有这个主语,那么后面的代词『他』将毫无意义。有了主语,代词才有了可以指代的事物。
类比到JavaScript的世界中,我们在调用一个对象的方法的时候,需要先指明这个对象,再指明要调用的方法。
var xiaoming = { name: 'Xiao Ming', run: function() { console.log(`${this.name} seems happy`); }, }; xiaoming.run();
在上面的例子中,第8行中的xiaoming指定了run方法运行时的主语。因此,在run中,我们才可以用this来代替xiaoming这个对象。可以看到this起了代词的作用。

