實際上是一個很簡單的東西,認真看十分鐘就從一臉懵B 到徹底 理解!數組
先看明白下面:app
例1函數
obj.objAge; //17this
obj.myFun() //小張年齡undefined
例2
spa
shows() //盲僧 3d
比較一下這二者this 的差異,第一個打印裏面的this 指向obj,第二個全局聲明的shows()函數 this 是window ;對象
1,call()、apply()、bind() 都是用來重定義 this 這個對象的!blog
如:string
obj.myFun.call(db); //德瑪年齡99object
obj.myFun.apply(db); //德瑪年齡99
obj.myFun.call(db,'成都','上海'); //德瑪 年齡 99 來自 成都去往上海
obj.myFun.apply(db,['成都','上海']); //德瑪 年齡 99 來自 成都去往上海
obj.myFun.bind(db,'成都','上海')(); //德瑪 年齡 99 來自 成都去往上海
obj.myFun.bind(db,['成都','上海'])(); //德瑪 年齡 99 來自 成都,上海去往undefined
微妙的差距!