10

jQuery("...")の代わりに書くのは良い習慣$("...")ですか?

他のライブラリが同様に使用すると、将来の競合を回避するのに役立つかもしれないと聞きましたが、それ$は実際の懸念事項ですか? 将来使用する予定の他のライブラリが本当にわからないので$("...")、スクリプトに書くのを避けるべきでしょうか? 同様に依存している他のよく知られたライブラリはあります$か?

また、この件に関して他に問題があるかどうかを知りたいです。

4

6 に答える 6

4

関数 (またはショートカット バージョン) を使用し.ready()てコードをラップしている場合、jQuery ライブラリに安全にアクセスできる機能が既に組み込まれています。これは、提供するコールバックで関数パラメーターを定義することによって行われます。

jQuery(document).ready(function($) { 
    /* in here, $ is safe */ 
}); 

jQuery(function($) { 
    /* in here, $ is safe */ 
});

jQuery はそれ自体を最初の引数としてコールバックに渡すため、. など、任意の名前を付けることができます$。これはローカル パラメータを形成するため、グローバル スペース内の同一の名前の影響を受けません。

この方法では.noConflict()、手動の IIFE アプローチは必要ありません。必要なものはすべて揃っています。

于 2013-06-02T15:38:34.690 に答える
2

jQuery は非常によく知られているため、多くの JavaScript フレームワークは予約済みの名前空間と見なし、それを使用することをためらう傾向があるため、これ$は単なる省略形の名前空間です。$とはいえ、誰でも任意のコードの名前空間を に変更するのは非常に簡単ですwindow.$

名前空間が正確に参照するものを意識している場合は、$その名前空間への jQuerys バインディングを削除し、グローバル スコープの外で自分で再バインドできます。

jQuery.noConflict();

(function($) {

    // your code that can use $ as jQuery namespace

})(jQuery);
于 2013-06-02T15:17:25.457 に答える
1

他のいくつかのライブラリも同様にドル記号を使用します。たとえば、Mootoolsもそれを使用できます。ただし、jQuery のnoConflictモードを使用する可能性は常にあるため、コードでドル記号を安全に使用できます。

于 2013-06-02T15:17:25.407 に答える