05-this指向

1. this 指向
面向对象语言中 this 表示当前对象的一个引用。
但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。
- 单独使用,this 表示全局对象window。
- 在对象中,this 表示该该对象,可以通过 this.key 访问对象key对应的value值。
- 在事件中,this 表示绑定事件的元素。
- 注意区分 evt.target 是触发事件的元素,不一定是绑定事件的元素。
口诀:谁调用this,this就指向谁(es6 箭头函数)。
示例:
1 | |
2. 改变this指向
call(obj, ...)让函数执行,并改变this指向为函数的第一个传入的参数- 支持多个参数
apply(obj, [...])让函数执行,并改变this指向为函数的第一个传入的参数- 两个参数:第二个参数是个数组
bind(obj, ...)函数不会执行,只是改变this指向为第一个传入的参数,并返回一个新函数- 支持多个参数
1 | |
05-this指向
https://janycode.github.io/2018/05/07/04_大前端/03_JavaScript/05-this指向/