JS 中 this 如何工作的
时间: 2023-09-16 22:05:57 浏览: 85
### 回答1:
在 JavaScript 中,this 关键字用于表示当前执行函数的上下文对象。具体来说,this 的值取决于它在哪个函数中被调用以及如何调用它。当在全局作用域中使用 this 时,它将指向全局对象(例如浏览器环境下的 window 对象)。当在对象内部使用 this,它将引用该对象本身。当使用函数的 apply() 或 call() 方法时,可以显式地设置函数的上下文对象为指定的对象。
### 回答2:
在 JavaScript 中,关键字 this 表示当前调用一个函数的对象。它的指向的值取决于函数是如何被调用的。
当一个函数被直接调用时,this 指向全局对象(在浏览器环境中通常是 window 对象,而在 Node.js 环境中是 global 对象)。
当一个函数作为对象的方法被调用时,this 将指向调用该方法的对象。
当一个函数被用作构造函数并通过 new 关键字调用时,this 将指向新创建的对象。
当一个函数通过 call、apply 或 bind 方法被显式地绑定到一个对象时,this 将指向被绑定的对象。
当使用箭头函数时,this 是根据外部的作用域来决定的,它不会随着调用的方式改变。
需要注意的是,如果在一个函数中使用了箭头函数,箭头函数不会绑定独立的 this 值,它会继承外部函数的 this 值。另外,在严格模式下,当函数被直接调用时,this 将被绑定为 undefined。
为了避免 this 的指向问题,可以使用 bind、call 和 apply 方法来显式地绑定 this,或者使用箭头函数来继承外部作用域的 this 值。
阅读全文