Ist es sicher, Dokumentvariable in Javascript umzubenennen?

8

Ich habe festgestellt, dass der Google Closure-Compiler document nicht in so etwas wie d umbenannt hat, um Speicherplatz zu sparen.

Ich kann mir keinen Fall vorstellen, in dem dies den Code sprengen würde (dh wo document auf etwas anderes deutet). Das Gleiche gilt auch für window .

Gibt es einen Grund dafür, document auf diese Weise zu schützen?

== EDIT ==

Indem ich es umbenannte, dachte ich darüber nach, es neu zuzuweisen. Beispiel unten.

%Vor%     
Mad Echet 27.08.2013, 07:45
quelle

3 Antworten

1

Was passiert?

ProblemFactory ist richtig.

Dies ist ein //TODO im Compiler-Quellcode. Wenn wir document und window nicht beibehalten haben und sie stattdessen mit d zum Beispiel ausgeführt haben, weiß der Closing-Compiler im Moment nicht, ob er eine globale Datei aus einer anderen Datei überschreibt. Wie die Kommentare sagen, wird dies in der Zukunft an diesem Punkt gelöst werden.

Genug Worte, zeig mir die Quelle!

Wenn wir den Quellcode des Abschlusscompilers in VariableReferenceCheck.java können wir folgendes finden:

%Vor%

Wenn wir den Hot-Button überprüfen -Swap-Algorithmus selbst können wir das sehen:

%Vor%

So können wir sehen, dass dies nur der Abschlusscompiler ist, der den Code von Globals über mehrere Dateien hinweg nicht gut genug versteht, um diesen Ersatz zu machen. Sie können den Ersatz immer selbst vornehmen:)

    
Benjamin Gruenbaum 27.08.2013, 09:46
quelle
3

Der Closure-Compiler führt diese "Optimierung" standardmäßig nicht aus, weil er eine größere Quelle erzeugt, wenn verwendet mit gzip . Sie können diese Optimierung aktivieren, indem Sie den AliasExternals pass mit der Java-API oder einem benutzerdefinierten Build aktivieren.

Siehe Ссылка

    
Chad Killingsworth 27.08.2013 13:07
quelle
0

Ich denke, document ist eine standardisierte, immer globale Variable. Um den gleichen Weg d zu verwenden, muss es auch global sein, daher wird der globale Namespace eine andere "Junk" -Variable haben.

Es könnte für nicht bewusste Entwickler gefährlich sein (was nicht bewusst ist, also ist es keine Standardvariable).

    
IProblemFactory 27.08.2013 09:28
quelle