Kann mir jemand erklären, wie die _.before Funktion implementiert ist, da ich nicht wirklich verstehe, warum die interne Variable times
jeden Funktionsaufruf verfolgt. Sollte es nicht im lokalen Umfang sein und jedes Mal wie normale Funktionen zurückgesetzt werden?underscore.js .before Funktionsimplementierung
-Code für _.before Funktion:
// Returns a function that will only be executed up to (but not including) the Nth call.
_.before = function(times, func) {
var memo;
return function() {
if (--times > 0) {
memo = func.apply(this, arguments);
}
if (times <= 1) func = null;
return memo;
};
};
Danke.
Sie benötigen diese http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – Maxx