在 JavaScript 中,函数内部的 this
关键字是一个特殊的对象,它的值取决于函数被调用的方式。this
可以指向不同的对象,因此在不同的场景中它会有不同的含义。下面是一些常见的场景以及 this
的指向:
- 全局作用域:当函数在全局作用域中被调用时,
this
指向全局对象(在浏览器中是window
对象)。
function globalFunction() {
console.log(this); // 输出全局对象
}
globalFunction();
- 方法调用:当函数作为对象的方法被调用时,
this
指向调用该方法的对象。
const obj = {
method: function() {
console.log(this); // 输出对象 obj
}
};
obj.method();
- 构造函数调用:当函数用
new
关键字作为构造函数被调用时,this
指向新创建的实例。
function Constructor() {
console.log(this); // 输出新创建的实例对象
}
const instance = new Constructor();
- 显式绑定:可以使用
cal