Ich versuche, 'func.apply (this, func)' Wert zwischenzuspeichern, so dass es später nachgeschlagen werden kann, anstatt die Funktion erneut auszuführen. Das Problem ist, dass ich nicht weiß, wie oder was ich als Schlüssel verwenden soll.Javascript: Wie bekomme ich Schlüssel von function.apply()
Gibt es eine Möglichkeit, einen Schlüssel einer Funktion zuzuweisen, die später nachgeschlagen werden kann?
Code-Beispiel:
var m = function(func) {
var cached = {};
return function() {
var key = ''; // how do I get or create the key of func.apply(this, func)?
if (cached[key]) {
return cached[key];
}
cached[key] = func.apply(this, arguments);
return cached[key];
};
};
Die m() Funktion sollte eine Funktion zurück, die, wenn sie aufgerufen wird, überprüft, ob sie bereits das Ergebnis für das gegebene Argument berechnet und zurück, dass Wert statt, wenn möglich.
, was Sie 'Index bedeuten kann ' –
So wie du es eingerichtet hast, jedes Mal wenn du es nennen würdest, würdest du den Cache wegblasen. – epascarello
@ArunPJohny vielleicht frage ich nicht das Gleiche. Wie speichere ich func.apply (this, func) und schaue später nach? – nolabel