2013-05-01 10 views
7

私はこのようないくつかのjQueryプラグインのソースコード内の関数の先頭にいくつかの奇妙な;を見てきました。彼らはこのケースで;を使用する必要がある理由関数を定義する前にセミコロンを使用する必要があるのはなぜですか?

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

誰かが説明できますか?

+1

の戻り結果を呼び出そうとしましたでしょう彼らが書いたコードの品質については気にしないでください。セミコロンは、以前のものに注意を払わずにコードに新しいものを加えることを可能にします。 – Mike

+1

@lan done。それをマーク:) –

答えて

11

このセミコロンは最後に;が含まれていない現在、このファイル内のコードを存在していたときに適切にファイルに新しいコードを連結するのに役立ちます。例えば

(function() { 

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

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

})(); 

セミコロンがなければ、第二()はそれだけで何人かの人々あるためだ関数呼び出しとして解釈されていたであろう、と最初の関数

+0

私はそれが構文エラーだとは思わない。 2番目のスクリプトが最初のスクリプトを呼び出さないようにします。 '()'は関数を呼び出します。これは2番目のスクリプトのようなものです – Ian

+0

この例ではセミコロンがないとどうなりますか? –

関連する問題