2016-09-20 8 views
-1

ich eine Funktion Pool haben weitergeben müssen:in JavaScript, wie variable Argumente ohne Argumente

var func0 = function(a0){...} 
var func1 = function(a0, a1){..} 
var func2 = function(a0, a1, a3){...} 

Jetzt habe ich die Funktionsnamen und ein Array arguments:

var name = 'func1'; 
var params = [arg0, arg1]; 

Namen eine dynamische Zeichenfolge ist so Ich kann nicht schreiben wie:

func1(arg0, arg1); 

Gibt es eine Möglichkeit kann die Parameter in die Funktion wie Reflexion übergeben lassen Java?

Hinweis ohne „Argumente“ mit:

func(){ console.log(arguments[0]);} 

@Felix Kling dies ist keine Vervielfältigung, ist meine Frage, wie variable Parameter zu übergeben, und ich kenne den Weg obj [Name], aber das bedeutet nicht Hilfe meine Frage.

Meine Frage ist, wie params konvertieren [arg0, arg1] in func (arg0, arg1), nicht func (params) und nicht func() {arguments [0] ... argument [1] ...}

+0

Verwandte: (http://stackoverflow.com/q/9854995/218196) –

+0

auf diese Weise [Javascript dynamisch Objektmethode aus string aufrufen]: 'Funktion func1 (a) {alert (a)}; Fenster ["func1"] (2) ' –

+0

@FelixKling diese Frage ist keine Duplizierung. Ich kenne obj [Name], aber das hilft nicht meine Frage – FredSuvn

Antwort

-1

Verwenden Sie die eval Funktion, wie dieser

eval(name+"("+params[0]+","+params[1]+")"); 
+0

ah ... eval ist vielleicht kein guter Weg ... – FredSuvn