Ich habe kürzlich festgestellt, dass viele JavaScript-Dateien im Web mit einem ;
unmittelbar folgenden Kommentarbereich beginnen.
Zum Beispiel ist die jQuery - Plugin Code beginnt mit:
/**
* jQuery.ScrollTo
* Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 9/11/2008
.... skipping several lines for brevity...
*
* @desc Scroll on both axes, to different values
* @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
*/
;(function( $ ){
Warum muss die Datei mit einem beginnen ;
? Ich sehe diese Konvention auch in serverseitigen JavaScript-Dateien.
Was sind die Vor- und Nachteile davon?
return
Aussage als letztes in einem Skript haben, oder? Die Rückkehr auf höchstem Niveau macht keinen Sinn. Es müsste etwas anderes sein, oder?return
Anweisung wird nicht ausgeführt, daher ist es nicht sinnvoll, ihn zu verketten. Zumindest}
fehlt ein.Ich glaube (obwohl ich nicht sicher bin, also stürzen Sie sich bitte nicht auf mich), dass dies sicherstellen würde, dass jede vorherige Aussage aus einer anderen Datei geschlossen wird. Im schlimmsten Fall wäre dies eine leere Anweisung, aber im besten Fall könnte vermieden werden, dass versucht wird, einen Fehler in dieser Datei aufzuspüren, wenn die unvollendete Anweisung tatsächlich von oben stammt.
quelle
Betrachten Sie dieses Beispiel:
Was passieren wird ist, dass es wie folgt bewertet wird:
Was auch immer
a
zurückkehrt, wird als eine Funktion behandelt und versucht, initialisiert zu werden.Dies dient hauptsächlich dazu, Fehler zu vermeiden, wenn versucht wird, mehrere Dateien zu einer Datei zusammenzufassen:
a.js
b.js.
Wenn wir diese Dateien zusammenfassen, führt dies zu Problemen.
Denken Sie also daran, Ihre
;
vor(
und vielleicht auch ein paar andere Orte zu stellen. Übrigens.var a = 1;;;var b = 2;;;;;;;;;var c = a+b;
ist vollkommen gültiges JavaScriptquelle