2013-05-01 19 views
7

Widziałem jakiś dziwny ; na początku funkcji w pewnym jQuery kodu źródłowego wtyczki jak ten:Dlaczego trzeba używać średnika przed zdefiniowaniem funkcji?

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

Może ktoś wyjaśnić, dlaczego trzeba użyć ; w tym przypadku?

+1

To dlatego, że niektórzy ludzie po prostu nie przejmuj się jakością kodu, który piszą. Średnik pozwala im dodawać nowe elementy do swojego kodu bez zwracania uwagi na to, co było wcześniej. – Mike

+1

@lan done. oznaczono go :) –

Odpowiedz

11

ten średnik pomoże Ci odpowiednio złączyć nowy kod do pliku, gdy prąd istniał kod do tego pliku nie zawiera ; na końcu.

Na przykład:

(function() { 

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

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

})(); 

Bez średnikiem, drugi () zostałyby zinterpretowane jako wywołanie funkcji i będzie starał się wywołać efekt powrotny pierwszej funkcji

+0

Nie sądzę, że jest to błąd składniowy. Ma uniemożliwić drugi skrypt wywoływania pierwszego. '()' wywołuje funkcję, która jest dokładnie tym, jak wygląda drugi skrypt. – Ian

+0

Jakie są konsekwencje, jeśli w tym przykładzie nie ma średnika? –