5

私は誰かのコードをデバッグしようとしていますが、これに出くわしました:

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

jqueryライブラリを使用していますが、これまでに3ドル記号を見たことがなく、それが何であるかわかりません...何か提案はありますか?

編集

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

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

jqueryライブラリのみを使用しており、ほとんどのコードで1つのドル記号を使用しています。

トリプルドル記号が何を達成しているのか、わかりやすい英語で説明していただけますか?

4

2 に答える 2

7

jQueryと同じように、オブジェクトの単なるエイリアス$です。それで全部です...

手でまたはで行うことができますjQuery.noConflict()

例:

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

$$$これで、とは両方ともオブジェクトblaのエイリアスになりjQueryます。

多くのJavaScriptライブラリは、jQueryと同様に、関数または変数名として$を使用します。jQueryの場合、$はjQueryの単なるエイリアスであるため、$を使用しなくてもすべての機能を利用できます。jQueryと一緒に別のJavaScriptライブラリを使用する必要がある場合は、$。noConflict()を呼び出すことで、$の制御を他のライブラリに戻すことができます。


編集内容を反映するように編集します。

私はコードのごく一部しか見ていませんが、エイリアスの$$$.fn = $$$.prototypeようにばかげているようですが...jQuery.fnjQuery.prototype

ソースコードから:

jQuery.fn = jQuery.prototype
于 2012-06-10T22:23:18.873 に答える
3

$$$単なる[別の]JavaScript識別子です。

プロパティ$$$はjQueryによって定義されていませんが、おそらく誰かが次のようなことをしました。

$$$ = jQuery.noConflict();

おそらく、$別のライブラリからのを上書きしないようにするためです。私はそれが非常に恐ろしいと思い、クロージャーにバインド$することを選ぶでしょうが:jQuery

;(function myStuff ($, evil$) {
   // do stuff with $ (jQuery) and "the other $"
})(jQuery, $) // <-- keep us real
于 2012-06-10T22:25:15.747 に答える