1. 实际运用经验:
- this一般用在类的方法中, 如果不是, 就最好不要用了
1. 梗概:
- 看最终调用函数(或方法)前用
.绑定了什么对象- 通过类调用,this 表示该类
- 通过对象调用方法,this 表示该对象。
- 如果没有绑定则返回
- 严格模式:undefined
- 非严格模式:全局对象
- 在事件中的回调函数中this 表示接收事件的元素。
- 保存到变量中的函数,是不会保存绑定的this对象的
- 如果这个函数是方法,则因为ES6规定的方法内代码都是严格模式下执行的,所以为undefined
- 示例:
变量保存函数导致绑定丢失示例
示例
指向原始笔记的链接class c1 { log() { console.log(this); } } let temp = new c1().log; temp(); // undefined
- 示例:
js全局对象
- child::Js 全局对象
3. 存在的问题:
child::回调函数引起this的问题
更改this指向:
- child::apply与call与bind的区别
2. 菜鸟教程官方文档
[JavaScript this 关键字 | 菜鸟教程 (runoob.com)](https://www.runoob.com/js/js1. this.html)