JavaScript中函数的this绑定有哪四种方式,大家能说出吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2521个文字,预计阅读时间需要11分钟。
JavaScript中的this与函数息息相关,今天,我就给大家详细地讲一讲:函数中的this到底是一回事。
在JavaScript中,this是一个关键字,它代表函数执行时的上下文。这个上下文可以是全局对象、一个函数、一个对象等。函数中的this指向取决于函数是如何被调用的。
1. 全局函数中的this: 在全局作用域中,this通常指向全局对象。在浏览器中,全局对象是window。例如:
javascript console.log(this===window); // true
2. 对象方法中的this: 当一个函数作为对象的方法被调用时,this指向这个对象。例如:
javascript const obj={ sayHello() { console.log(this); } };
obj.sayHello(); // 输出obj对象
3. 构造函数中的this: 当使用new关键字调用一个函数时,这个函数被称为构造函数,此时this指向新创建的对象。例如:
javascript function Person(name) { this.name=name; }
const person=new Person('张三'); console.log(person.name); // 输出张三
4. 箭头函数中的this: 箭头函数不绑定自己的this,它会捕获其所在上下文的this值,作为自己的this值。
本文共计2521个文字,预计阅读时间需要11分钟。
JavaScript中的this与函数息息相关,今天,我就给大家详细地讲一讲:函数中的this到底是一回事。
在JavaScript中,this是一个关键字,它代表函数执行时的上下文。这个上下文可以是全局对象、一个函数、一个对象等。函数中的this指向取决于函数是如何被调用的。
1. 全局函数中的this: 在全局作用域中,this通常指向全局对象。在浏览器中,全局对象是window。例如:
javascript console.log(this===window); // true
2. 对象方法中的this: 当一个函数作为对象的方法被调用时,this指向这个对象。例如:
javascript const obj={ sayHello() { console.log(this); } };
obj.sayHello(); // 输出obj对象
3. 构造函数中的this: 当使用new关键字调用一个函数时,这个函数被称为构造函数,此时this指向新创建的对象。例如:
javascript function Person(name) { this.name=name; }
const person=new Person('张三'); console.log(person.name); // 输出张三
4. 箭头函数中的this: 箭头函数不绑定自己的this,它会捕获其所在上下文的this值,作为自己的this值。

