var array_of_functions = [
first_function('a string'),
second_function('a string'),
third_function('a string'),
forth_function('a string')
]
array_of_functions[0];
Dies funktioniert nicht wie beabsichtigt, da jede Funktion im Array beim Erstellen des Arrays ausgeführt wird.
Wie kann eine Funktion im Array ordnungsgemäß ausgeführt werden?
array_of_functions[0]; // or, array_of_functions[1] etc.
Vielen Dank!
javascript
arrays
function
Nick
quelle
quelle
'a string'
zum Zeitpunkt des Auffüllens des Arrays bekannt sein, oder kann der Aufrufer der Funktion es übergeben?Antworten:
und dann, wenn Sie eine bestimmte Funktion im Array ausführen möchten:
quelle
()
danach zu setzenarray_of_functions[0]
, auch wenn es leer ist. Ich verbringe ungefähr 20 Minuten damit, herauszufinden, warum das nicht funktioniert hat.Ich denke, das wollte das Originalplakat erreichen:
Hoffentlich hilft dies anderen (wie mir vor 20 Minuten :-) bei der Suche nach Hinweisen zum Aufrufen von JS-Funktionen in einem Array.
quelle
Ohne mehr Details darüber, was Sie erreichen wollen, raten wir ein bisschen. Aber vielleicht können Sie mit der Objektnotation davonkommen, um so etwas zu tun ...
und einen von ihnen anzurufen ...
quelle
Oder nur:
quelle
Ich würde diesen Thread ergänzen, indem ich eine einfachere Möglichkeit zur Ausführung verschiedener Funktionen innerhalb eines Arrays mit der ursprünglich hier beschriebenen
shift()
Javascript-Methode veröffentlichequelle
Es ist im Grunde dasselbe wie,
Darin Dimitrov's
aber es zeigt, wie Sie es verwenden können, um dynamisch Funktionen und Argumente zu erstellen und zu speichern. Ich hoffe es ist nützlich für dich :)quelle
oben sahen wir einige mit Iteration. Machen wir dasselbe mit forEach:
quelle
Das ist richtig
quelle
opera
durcharray_of_functions
und Sie haben das Gleiche. Wie wäre es jetzt?Wenn Sie beispielsweise versuchen, Rückrufe dynamisch zu übergeben, können Sie ein einzelnes Objekt als Argument übergeben. Auf diese Weise können Sie viel besser steuern, welche Funktionen Sie mit einem Parameter ausführen möchten.
quelle
Ausführung vieler Funktionen über einen ES6-Rückruf 🤗
quelle
Vielleicht kann es jemandem helfen.
quelle
Ein kurzer Weg, um sie alle zu führen:
quelle
Das Problem dieser Funktionsfelder liegt nicht in der "Array-Form", sondern in der Art und Weise, wie diese Funktionen aufgerufen werden ... dann ... versuchen Sie dies ... mit einem einfachen eval () ...
Es funktioniert hier, wo nichts Oberes die Arbeit zu Hause erledigt hat ... hofft, dass es helfen wird
quelle
Verwenden von Function.prototype.bind ()
quelle
Ich habe viele Probleme beim Versuch, dieses Problem zu lösen ... habe das Offensichtliche versucht, aber es hat nicht funktioniert. Es wird nur irgendwie eine leere Funktion angehängt.
Ich habe es mit einer Reihe von Zeichenfolgen und später mit eval gelöst:
quelle
Sie haben oben einige Top-Antworten erhalten. Dies ist nur eine andere Version davon.
}}
quelle
quelle