2012-06-10 12 views
5

私は、誰かのコードをデバッグしようとすると、この出くわしています:jqueryの3倍のドル記号は何ですか?

$$$.ajax({ 
    url: ajax_url + param, 
    context: $("#formDialog"), 
    success: function(data) { 
     this.html(data); 
     BindPopupFormEvents(this, title, reload); 
    } 
}, $$$.ajax.PARTAIL_UPDATE, $mainWrapper);​ 

を私たちは、jQueryライブラリを使用しているが、私は前にトリプルドル記号を見たことがないと私はそれが何であるか見当もつかない.. 。 助言がありますか?

EDIT

は私が後でこれを見つけた:

$$$.fn = $$$.prototype = { 
    init: function(jQuery, test) {}, 
    CONST: CONST 
};​ 

私たちは、jQueryライブラリを使用している、と私たちは、コードのほとんどで単一のドル記号を使用します。

トリプルドル記号が何を達成しているのかをプレーン・イングリッシュで説明できますか?

+0

私は本当にあなたの編集にについては、「後で」のものが行うことになっているものは考え:( –

+0

を持っていませんそれで '$$$'が '$'とは違うjQueryのバージョンを参照しない限り、それはばかげてしまいます。あなたが何を知っているのか、2番目の考えの後、それは馬鹿だと知っている... ':)' – gdoron

+0

私はそれが2年以上だと知っている...しかし、私は今あなたの編集を見た...更新された答えを見てください。遅れて申し訳ありません。 ':)' – gdoron

答えて

7

$のように、jQueryオブジェクトの単なるエイリアスです。今$$$bla両方がjQueryオブジェクトへのエイリアスである

var $$$ = jQuery.noConflict(); 
var bla = jQuery.noConflict(); 

:それはすべて...では手やjQuery.noConflict()

例で

を行うことができます。

jQueryのように、多くのJavaScriptライブラリでは、関数または変数名として$が使用されています。 jQueryの場合、$はjQueryのエイリアスなので、$を使用せずにすべての機能を利用できます。あなたの編集を反映するために


編集:私たちはjQueryのと一緒に、別のJavaScriptライブラリを使用する必要がある場合、我々は$ .noConflict()を呼び出して、他のライブラリに戻って$の制御を返すことができます

ソースコードから

私はコードの小さい部分のみを参照してくださいが、jQuery.fnjQuery.prototypeの別名であるような愚かな$$$.fn = $$$.prototypeようだけど...

jQuery.fn = jQuery.prototype 
3

$$$は、JavaScriptの識別子です。

プロパティ$$$はjQueryので定義されてないですが、おそらく誰かがこのようなものでした:おそらく別のライブラリから$を上書きしないように

$$$ = jQuery.noConflict(); 

を。私はそれは非常に恐ろしいことを、ちょうど閉鎖にjQuery$をバインドすることを選ぶでしょう見つけることが:

;(function myStuff ($, evil$) { 
    // do stuff with $ (jQuery) and "the other $" 
})(jQuery, $) // <-- keep us real 
+0

しかし、私たちは1ドル記号を全部使っていますが、なぜこの1つのケースでは3倍を使用するのでしょうか?私たちはjqueryライブラリのみをロードしています –

+1

@estherh Dr. Evils Awesome Libraryのコードはおそらく '$'を使用しています。あるいは、開発者は、より少ない金額( '$')よりも多くの金額( '$$$')が良いと思ったかもしれません。私はこのアプローチをお勧めしません:) –

+0

haha​​ :-)私はあなたとgdoronを "正しい"答えとして選んだのですが、1つしか選択しなくてはなりませんでした。 –

関連する問題