Funktion von String innerhalb Objekt aufrufen?

7

Ich habe einen Funktionsnamen in einer Zeichenfolge:

%Vor%

Ich brauche diese Funktion für die aktuelle Instanz ("this");

Also muss ich es anrufen:

%Vor%

Wie kann ich das tun? Ich kann nicht über das Fenster gehen.

Danke, Wesley

    
Wesley 04.10.2011, 18:50
quelle

4 Antworten

22

Verwenden Sie einfach das Konstrukt von object[functionName](); , so:

%Vor%

Alternativer Stil:

%Vor%     
meder omuraliev 04.10.2011, 18:55
quelle
6
%Vor%

Sie müssen .call oder .apply nicht verwenden, da der Kontext in der Referenz enthalten ist.

Zum Beispiel:

%Vor%     
davin 04.10.2011 18:55
quelle
3

Versuchen Sie Folgendes

%Vor%

Was das bedeutet, ist das Mitglied namens doTest von this . Anschließend führt er die Funktion über apply aus und weist javascript an, this als this innerhalb der Funktion zu binden. Ich denke, das Beispiel ist ein bisschen weniger verwirrend, wenn Sie den gleichen Code auf einem Nicht-diesem Wert betrachten

%Vor%

In diesem Fall wird die Methode doTest mit dem Wert obj als this

ausgeführt     
JaredPar 04.10.2011 18:53
quelle
0

Wenn Sie jquery verwenden, können Sie einfach Folgendes tun:

%Vor%     
Porco 04.10.2011 18:54
quelle