下面的函數下劃線功能是由我的同伴改寫像這樣:func.apply(this,arguments)在這段代碼中爲_.once()做了什麼?
var once = function(func) {
var alreadyCalled = false;
var result;
return function() {
if (!alreadyCalled) {
result = func.apply(this, arguments);
alreadyCalled = true;
}
return result
};
};
這裏是我如何解釋它。這是一個接受另一個函數並返回另一個函數的函數。如果alreadyCalled
是false
然後設置result = func.apply(this,arguments)
是否有人可以幫助我在一個簡單的方法是什麼func.apply(this,arguments)
在此功能的情況下做明白。我似乎無法弄清楚!
將'this'存儲在變量以前的返回函數中... – 2015-02-12 04:59:06
[MDN應用](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply) – epascarello 2015-02-12 04:59:53