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