JS简记-this

this的绑定和函数声明的位置没有任何关系(这是与词法作用域最大的不同),取决于函数的调用方式,函数不同的调用方式,决定了函数内this的绑定对象。

函数有4种不同的调用方式:

function foo(){
    //...
}
foo()//1
var o = Object.create(null);
o.foo = foo;
o.foo();//2
foo.call(window)//3,或者foo.apply(window)
new foo()//4

优先级:new>显式>隐式>默认。

猜你喜欢

转载自www.cnblogs.com/holoyong/p/8975478.html
今日推荐