Javascript zeigt auf das Window-Objekt

8

Ich habe den folgenden Code. Ich erwartete, "Archiv" -Objekt auf meiner Firebug-Konsole zu sehen, aber ich sehe Window-Objekt. Ist das normal?

%Vor%     
Moon 27.04.2010, 08:11
quelle

1 Antwort

6

oArchive.action.test2 erhält einen Verweis auf eine Funktion, auf die callback dann verweist, aber diese Funktion wird dann mit callback() aufgerufen, was bedeutet, dass sie nicht als Methode aufgerufen wird und daher this das globale Objekt ist . Der entscheidende Punkt ist, dass this nicht an eine Funktion gebunden ist: sie wird durch den Aufruf der Funktion bestimmt.

In diesem Fall könnten Sie this point explizit auf das Action-Objekt (aber nicht auf das Archiv-Objekt) setzen, indem Sie die Methode call oder apply der Callback-Funktion verwenden:

%Vor%

Um stattdessen this als Archivobjekt zu erhalten, müssen Sie das Archivobjekt in

übergeben %Vor%     
Tim Down 27.04.2010, 08:21
quelle

Tags und Links