2016-03-30 11 views
0

Ich habe die Antwort auf eine vorherige Frage gefolgt, aber ich bekomme nicht die Ergebnisse. Ich bin eine Zufallszahl zu erzeugen und basierend auf der Anzahl, möchte ich 1 von vier Funktionen aufzurufen:JavaScript: Funktionen von einem Array aufrufen

var functionArray[single, double, triple, quadruple]; 

function main() { 
    ranNum = Math.floor(Math.random() * functionArray.length); 
    x = functionArray[ranNum](); /* is this the way to call the function? */ 
} 

/* example of one function in the array */ 
function single() { 
    /* do stuff */ 
    return x; 
} 
+1

Was ist Ihr Problem hier mit dem Code –

+1

var FunktionArray = [Einzel-, Doppel-, Dreifach-, Vierfach]; –

Antwort

7

Sie das Array falsch initialisiert:

var functionArray[single, double, triple, quadruple]; 

Sollte sein:

var functionArray = [single, double, triple, quadruple]; 

Dann sollte es funktionieren!


x = functionArray[ranNum](); 

ist dies der Weg, um die Funktion aufzurufen?

Ja, Sie können es so nennen. Aber es könnte sein, mehr klar, wenn man nur Function.prototype.call ausführen:

x = functionArray[ranNum].call(); 

Beachten Sie auch, dass Sie reserved words verwenden, wie double. Sie sind besser dran, diese zu vermeiden.

+0

Sehr geschätzt! –

+0

@StrugglewithAndres Sie können diese Antwort akzeptieren, wenn sie Ihren Anforderungen entspricht! :) – Tim

Verwandte Themen