arguments.callee im strikten Modus replizieren

8

Ich arbeite zum ersten Mal im strikten Modus und, was weiß ich schon, es ist auch das erste Mal, dass man in der Lage ist, eine nicht strikte Moduseigenschaft zu verwenden. Meine Frage hier skizziert das genaue Problem, das ich habe, aber die Lösung, die ich ausgearbeitet habe, könnte etwas viel mehr skalierbar angepasst werden, wenn ich noch Zugang zu arguments.callee hätte.

Ohne Angabe der Funktion gibt es im strikten Modus eine Möglichkeit, einen Verweis auf die Funktion zu erhalten, deren Bereich ich gerade betrete?

    
wheresrhys 04.04.2012, 10:54
quelle

2 Antworten

5
  

Ohne Angabe der Funktion gibt es im strikten Modus eine Möglichkeit, einen Verweis auf die Funktion zu erhalten, deren Bereich ich gerade betrete?

Nein. Du musst der Funktion einen Namen geben. Mein Fehler, ich dachte an einen Weg, siehe den letzten Code Block unten. Ich mag es nicht, aber da sind wir. : -)

Beachten Sie, dass Sie der Funktion hier einen Namen geben:

%Vor%

... verwendet einen benannten Funktionsausdruck . Diese sind notorisch unzuverlässig ( Link , link ) über Implementierungen (sie sollten nicht sein, aber sind), vor allem in Ihrem Beispiel oben, IE8 und früher wird zwei Vollständig getrennte Funktionsobjekte, wobei eines der Objekte der Eigenschaft generateScale zugewiesen wird und auf ein anderes Funktionsobjekt innerhalb der Funktion als GS verwiesen wird.

Es ist jedoch leicht zu beheben:

%Vor%

Oder wenn Sie wirklich nicht möchten, dass die Funktion einen Namen hat (ich bevorzuge, dass sie Namen haben, hilft meinen Tools helfen , aber hey), Sie können eine lokale innerhalb dieser Schließung verwenden:

%Vor%

Sie haben jetzt eine anonyme Funktion, können aber in GS darauf verweisen. Noch einmal, ich würde es nicht empfehlen, denn dann können Sie den Funktionsnamen in Aufruflisten und dergleichen nicht sehen, aber Sie haben gesagt, ohne der Funktion einen Namen zu geben , also ...

    
T.J. Crowder 04.04.2012, 11:00
quelle
0

Ja, aber nein ... Ich bin mir nicht sicher, ob dies die gleiche Art von "Benennung" ist, von der Sie sprechen:

%Vor%

Ссылка

    
Matt 04.04.2012 10:56
quelle

Tags und Links