2013-05-01 11 views
7

Ich habe in einigen jQuery-Plugins-Quellcode wie dies einige seltsame ; am Anfang einer Funktion gesehen:Warum müssen Sie Semikolon verwenden, bevor Sie eine Funktion definieren?

;(function ($) {..... 

Kann jemand erklären, warum sie ; in diesem Fall verwenden?

+1

Es ist zu einfach anrufen die Qualität des Codes, den sie schreiben, ist mir egal. Das Semikolon ermöglicht es ihnen, ihrem Code neues hinzuzufügen, ohne auf das zu achten, was vorher war. – Mike

+1

@lan fertig. markiert es :) –

Antwort

11

Dieses Semikolon werden Sie richtig einen neuen Code in eine Datei verketten helfen, wenn der aktuelle Code in dieser Datei nicht enthalten eine ; am Ende nicht existierte.

Zum Beispiel:

(function() { 

})() // <--- No semicolon 

// Added semicolon to prevent unexpected laziness result from previous code  
;(function ($) { 

})(); 

Ohne das Semikolon würde die zweite () als Funktionsaufruf interpretiert worden sind, und versucht, das Rückergebnis von der ersten Funktion, weil einige Leute

+0

Ich glaube nicht, dass es ein Syntaxfehler ist. Es soll verhindern, dass das zweite Skript den ersten aufruft. '()' ruft eine Funktion auf, und genau so sieht das zweite Skript aus – Ian

+0

Was sind die Konsequenzen, wenn in diesem Beispiel kein Semikolon steht? –

Verwandte Themen