jQueryには奇妙なパターンがあります。
var jQuery = (function() {
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
...
return jQuery;
})();
これの実際的な理由は何ですか?内部のjQuery関数を公開しないのはなぜですか?どちらもクロージャにあるため、内側のjQueryと外側のjQueryでの名前の衝突のみです。
jQueryには奇妙なパターンがあります。
var jQuery = (function() {
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
...
return jQuery;
})();
これの実際的な理由は何ですか?内部のjQuery関数を公開しないのはなぜですか?どちらもクロージャにあるため、内側のjQueryと外側のjQueryでの名前の衝突のみです。
jQuery.noConflict(true)
jQueryのグローバル名を削除します。ただし、オブジェクトに何らかの名前を使用せずにjQueryライブラリの残りの部分をプログラムすることは不可能であるため、ローカルの非公開名を使用する必要があります。便宜上、jQuery
無名関数のスコープ内で変数として再定義します。
パターン自体はモジュールパターンと呼ばれます。これはjQueryに固有のものではなく、奇妙ではありませんが非常に役立ちます。これにより、オブジェクトの状態と実装を非表示にできます。また、特権メソッド(プライベートデータにアクセスできるパブリックメソッド)やその他の優れた設計原則も可能になります。