5

我正在尝试调试某人的代码,并遇到了这个:

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

我们正在使用 jquery 库,但我以前从未见过三元符号,我不知道它是什么......有什么建议吗?

编辑

后来我发现了这个:

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

我们只使用 jquery 库,并且在大多数代码中使用单个美元符号。

你能用简单的英语解释一下三元符号的作用吗?

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.fn的别名一样jQuery.prototype

从源代码:

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

$$$只是一个[另一个] JavaScript 标识符。

该属性$$$不是由 jQuery 定义的,但大概有人做了这样的事情

$$$ = jQuery.noConflict();

也许是为了避免覆盖$另一个库中的 a 。虽然我发现它非常可怕并且会选择只绑定$jQuery闭包中:

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