1. 程式人生 > >JS簡記-this

JS簡記-this

bject 不同的 foo apply fun 沒有 默認 AS 對象

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>顯式>隱式>默認。

JS簡記-this