💡
原文英文,约1200词,阅读约需5分钟。
📝
内容提要
在JavaScript中,关键字this表示函数所属的对象,其值取决于调用方式。this在不同场景下表现不同,包括全局上下文、常规函数、对象方法、箭头函数和构造函数。理解this的用法对编写清晰代码至关重要。
🎯
关键要点
- 在JavaScript中,this是一个关键字,表示函数所属的对象。
- this的值取决于函数的调用方式,具有灵活性和复杂性。
- this不是变量,不能赋值,值在运行时确定。
- 在全局上下文中,this指向全局对象,浏览器中为window,Node.js中为模块的exports。
- 在常规函数中,this的值取决于函数的调用方式,严格模式下为undefined。
- 在对象方法中,this指向调用该方法的对象。
- 箭头函数没有自己的this,继承自外部词法作用域。
- 构造函数中,使用new关键字时,this指向新创建的对象。
- 在ES6类中,this的行为与构造函数类似。
- call、apply和bind方法可以显式设置this的值。
- 在事件监听器中,this指向接收事件的元素。
- New binding优先级最高,显式绑定覆盖隐式/默认绑定,隐式绑定在对象方法中应用,默认绑定作为后备。
🏷️
标签
➡️