0
當函數被調用時,this.apply(obj);
的用途是什麼。例如這個代碼。應用對象功能
Function.prototype.blio = function (a) {
this.hurka = 'hurka';
var obj = {};
this.apply(obj); // what exactly happens here ?
}
當函數被調用時,this.apply(obj);
的用途是什麼。例如這個代碼。應用對象功能
Function.prototype.blio = function (a) {
this.hurka = 'hurka';
var obj = {};
this.apply(obj); // what exactly happens here ?
}
讓我們試試吧!
function foo() {
console.log(this);
}
foo(); // logs window
console.log(foo.hurka); // undefined
foo.blio(); // logs {}
console.log(foo.hurka); // "hurka"
別急,foo.blio
調用foo
!
因此,當作爲foo.blio()
this
在blio
調用是foo
this.apply
相當於foo.apply
this
內foo
是通過apply
你可以閱讀更多的設置爲{}
在Function.prototype.apply
on MDN docs here
好吧,但是這一行發生了什麼this.apply(obj) ;被定義爲。什麼意思this.apply(...)在函數內部? – theChampion
看看這裏https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply –