Angenommen, ich habe eine Variable, die den Namen einer Funktion enthält, die ich ausführen möchte, kann ich es mit window
ausführen, so;Ausführen einer Funktion in einem Objekt aus einer Variablen
Dies funktioniert jedoch nicht, wenn die beabsichtigte Funktion tief in einem Objekt ist;
var obj = {
foo: {
hey: function(){ ... }
}
};
obj.foo.hey(); // this runs
var func = "obj.foo.hey";
window[func](); // this doesn't
ich eval()
verwenden könnte, aber ich frage mich, ob es möglich ist, das zu vermeiden, um nicht die vielen Sicherheitsüberlegungen vorstellen, dass eval()
kommt mit.
Wie kann ich eine in einer Variablen angegebene Funktion ausführen, wenn sich die Funktion wie oben beschrieben in einem Objekt befindet?
http://stackoverflow.com/questions/1184123/is-it-possible-to-add-dynamically-named-properties-to-javascript-object – Teemu