💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
JavaScript中的this关键字常常让开发者感到困惑,因为它的值依赖于函数的调用方式。本文探讨了this在不同上下文中的表现,如对象方法、全局上下文、普通函数、箭头函数和事件处理器,强调理解调用上下文的重要性。
🎯
关键要点
-
JavaScript中的this关键字的值依赖于函数的调用方式,而不仅仅是书写位置。
-
在对象方法中,this指向拥有该方法的对象。
-
在全局上下文中,非严格模式下this指向全局对象,严格模式下为undefined。
-
在普通函数中,非严格模式下this指向全局对象,严格模式下为undefined。
-
箭头函数没有自己的this,继承自外部词法上下文。
-
可以使用call、apply或bind显式设置this的值。
-
在DOM事件处理器中,使用普通函数时this指向接收事件的元素。
-
理解this的关键在于识别调用上下文。
❓
延伸问答
JavaScript中的this关键字是如何工作的?
this的值依赖于函数的调用方式,而不仅仅是书写位置。
在对象方法中,this指向什么?
在对象方法中,this指向拥有该方法的对象。
全局上下文中,this的值是什么?
在非严格模式下,this指向全局对象;在严格模式下,this为undefined。
箭头函数中的this是如何处理的?
箭头函数没有自己的this,继承自外部词法上下文。
如何显式设置this的值?
可以使用call、apply或bind方法显式设置this的值。
在DOM事件处理器中,this指向什么?
在DOM事件处理器中,使用普通函数时this指向接收事件的元素。
➡️