Ich habe ein Objekt:JavaScript aufrufen Funktion Objektwerte mit als Parameter
var obj = {
foo: 'foo',
bar: 'bar'
};
Und ich habe eine Funktion:
var f = function(bar, foo) {
// Do something with bar and foo
};
Gibt es eine Möglichkeit, ich dynamisch die Funktion mit dem Objekt aufrufen kann, so dass obj ['foo'] als 'foo' Parameter übergeben wird und obj ['bar'] als 'bar' Parameter übergeben wird? Beachten Sie, dass ich die tatsächlichen Namen der Schlüssel und Werte oder die Funktionsargumentnamen möglicherweise nicht kenne, die angegebenen sind nur ein Beispiel, so dass f.call(this, obj['bar'], obj['foo']);
nicht funktioniert.
Sie müßten die Argumentnamen der Funktion zu prüfen, einen Array der Argumente in der richtigen Reihenfolge erstellen, und dann 'f.apply (null, args)' ... Vielleicht hat jemand kann von hier aus eine Implementierung bereitstellen ... – deceze
Sie möchten Objekteigenschaftsnamen basierend auf den Namen von Funktionsargumenten übergeben? Das ist keine gute Idee. – Maxx
Nicht in der Lage zu verstehen, was Sie wollen. ausgearbeitet – ajaykumar