javascript中的this
在JavaScript中,this关键字的值取决于它被使用的上下文。它并不像其他编程语言中的this总是指向对象的实例,而是可能指向不同的对象。以下是几种常见的this的用法及其指向的内容:
全局上下文
在全局范围(即没有在任何函数或对象内)中,this指向全局对象。在浏览器中,这通常是window对象。
console.log(this); // 在浏览器中输出:Window
普通函数
在普通函数中,this的值在严格模式和非严格模式下有所不同:
- 非严格模式:
this指向全局对象(在浏览器中为window)。 - 严格模式:
this为undefined。
function foo() {
console.log(this);
}
foo(); // 非严格模式:输出Window,严格模式:输出undefined
构造函数
在构造函数中,this指向新创建的实例对象。
function Person(name) {
this.name = name;
}
const person = new Person("Alice");
console.log(person.name); // 输出 "Alice"
箭头函数
箭头函数中的this在定义时绑定到它所在的上下文,而不是调用它的对象。它会继承外层函数或全局作用域的this。

浙公网安备 33010602011771号