this的指向问题

this永远指向函数运行时所在的对象,而不是函数被创建时所在的对象。

一.普通函数中的this指向

1.作为函数名调用

函数作为全局对象调用,this指向全局对象。

2.作为方法调用

函数作为对象的一个属性,成为该对象的一个方法,this指向该对象。

3.作为构造函数使用

用new调用的函数,this指向被绑定的那个对象上面。

4.apply或call被调用

函数this指向apply或call调用时的第一个参数。

二.箭头函数中的this

箭头函数的this指向父级作用域。


总结:this指向永远是最后调用它的对象。

下面的例子中,最后一个调用函数的对象是b,所以这里的this指向b对象。

下面例子中,最后一个调用函数的对象是c,而c是全局定义的变量,所以这里的this指向windows。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容