call方法及其应用
ES5函数this的指向
- 这些this指向,当我们调用函数时候确定的。调用方式不同决定了this指向不同,一般指向调用者。
调用方式 | this指向 |
---|---|
普通函数调用 | window |
构造函数调用 | 实例对象、原型对象里面的方法也指向实例对象 |
对象方法调用 | 该方法所属对象 |
事件绑定方法 | 绑定事件对象 |
定时器函数 | window |
立即执行函数 | window |
使用call方法可调用函数,还可以改变函数内部的this指向
- 函数内部this指向不是一成不变的,我们可以在某些情况下手动改变,在js中提供了三种方法
call()
,apply()
,bind()
思路:
1、在函数的上方定义了一个函数o,值是一个对象,对象中有一个属性,值为张三。
2、定义函数fn箭头函数
3、使用call方法调用了o对象
4、在函数内部进行打印
注意:箭头函数中不绑定this关键字,在箭头函数中this指向箭头函数定义位置的上下文this,所以此处this指向window。
代码实例:
let o = {
name:'andy'
}
fn