職場で MooTools から jQuery に切り替えています。同僚が、$
jQuery メソッドを使用するときは をプレフィックスとして絶対に使用しないようにと言っていました (正しく理解していれば)。代わりに、より適切で安全な方法 (私はあまり理解していませんでしたが) は を使用することだと言っていましたjQuery.
。
したがって$.plugin()
、の代わりにjQuery.plugin()
、たとえば を使用する必要があります。
なぜそうなるのでしょうか? 彼は$
/でどのような区別をしているのでしょうjQuery
か? アクセサとしてのドル記号を忘れるべきでしょうか? 特定の状況のみでしょうか?
ベストアンサー1
なぜそうなるのでしょうか? 彼の $/jQuery の区別は正しいのでしょうか?
ほとんどすべての JavaScript ライブラリは $ という関数を定義しているためです。1 つのドキュメントに多くのライブラリがある場合、競合が発生する可能性があります。jQuery が、その関数を定義する唯一のスクリプトであり、今後もそうであると確信できる場合は、$ を使用することに何ら反対はありません。
jQuery は競合を解決するための優れたソリューションを定義します。jQuery.noConflictこの関数を使用すると、jQueryにアクセスできるように独自の名前を定義できます。例:
var $jq = jQuery.noConflict(true);
この関数を呼び出すと、jQuery を初期化する前に存在していた $ および jQuery 変数の以前の値が復元されます。他のライブラリが名前の競合を解決しようとしているかどうかは覚えていません。
常に jQuery の代わりに $ を使用したい場合は、自己呼び出し関数を使用して、 $ の定義を保持する別のプライベート スコープでコードを実行できます。
(function($){
// your code goes here
$("body").append("<p>Hello World!</p>");
})(jQuery); // or even jQuery.noConflict()