this指向之apply 调用

apply()是函数的一个方法,作用是改变函数的调用对象。它的第一个参数就表示改变后的调用这个函数的对象。因此,这时this指的就是这第一个参数。

var x = 0;
function test() {
 console.log(this.x);
}

var obj = {};
obj.x = 1;
obj.m = test;
obj.m.apply() // 0

apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

如果把最后一行代码修改为
obj.m.apply(obj); //1
运行结果就变成了1,证明了这时this代表的是对象obj。

我自己实验的结果为


this指向之apply 调用

this指向之apply 调用

上一篇:axios请求方式封装


下一篇:Android ndk 编译提示stdin ,stdout, stderr undefine reference