javascript 中,this 的指向类型有:1. 全局对象;2. 函数调用;3. 构造函数调用;4. 事件处理程序;5. 箭头函数(继承外层 this)。此外,可以使用 bind()、call() 和 apply() 方法显式设置 this 的指向。
JavaScript 中 this 的指向
this 指向的类型
JavaScript 中,this 的指向有以下几种类型:
1. 全局对象
- 当函数在全局作用域中调用时,this 指向 window 对象(在浏览器中)或 global 对象(在 Node.js 中)。
2. 函数调用
- 当函数作为方法调用时,this 指向包含该方法的对象。
- 例如:
const person = { name: "John", greet: function() { console.log(this.name); }}; person.greet();
3. 构造函数调用
- 当使用 new 关键字调用函数时,this 指向新创建的对象。
- 例如:
const person = new Person("John");
4. 事件处理程序
- 当事件处理程序(如 onclick)调用时,this 指向触发事件的元素。
- 例如:
<button onclick="this.style.color = 'red'">Click me</button>
5. 箭头函数
- 箭头函数中没有自己的 this,它会继承外层作用域的 this。
- 例如:
const person = { name: "John", greet: () => console.log(this.name); };
注意事项
- 可以使用 bind()、call() 和 apply() 方法显式设置 this 的指向。
- 箭头函数和 class 方法始终绑定 this 到它们定义的作用域。
以上就是js中this的指向有几种情况的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:pansz,转转请注明出处:https://www.dingdanghao.com/article/441075.html