"this" 是 JavaScript 中的关键字,它通常用于引用当前执行上下文中的对象。
在函数内部, "this" 引用调用该函数的对象。例如:
const person = { name: "John", greet: function() { console.log(`Hello, my name is ${this.name}.`); } }; person.greet(); // 输出 "Hello, my name is John."
在全局环境中, "this" 引用全局对象(在浏览器中通常是 "window")。
console.log(this === window); // true
在 JavaScript 中, "this" 的值可以在运行时动态更改,具体取决于如何调用函数。
例如,使用 "call"、 "apply" 或 "bind" 方法显式地设置 "this",如下所示:
const person = { name: "John" }; function greet() { console.log(`Hello, my name is ${this.name}.`); } greet.call(person); // 输出 "Hello, my name is John." greet.apply(person); // 输出 "Hello, my name is John." const boundGreet = greet.bind(person); boundGreet(); // 输出 "Hello, my name is John."