$ sign在jQuery代码中意味着什么?

时间:2014-12-31 12:01:57

标签: javascript jquery

我已获得以下代码段:

$Core.box = function($sRequest, $sWidth, $sParams) {
    tb_show('', $.ajaxBox($sRequest, 'width=' + $sWidth + ($sParams ? '&' + $sParams : '')));   
    return false;
};

但我不明白$Core代表什么。

美元在$Core和其他变量中的含义是什么? 为什么功能代码存储在$Core.box

2 个答案:

答案 0 :(得分:4)

$符号在JavaScript中没有任何特别之处,它只是在变量名中使用的另一个有效字符。

例如,您可以调用变量abca$b$chèy或者您喜欢的视频,没有区别,唯一改变的是变量的名称:

var abc = 1,
    a$b$c = 2,
    hèy = 3;

console.log(abc, a$b$c, hèy); // 1 2 3

为什么美元符号呢? 美元符号只是jQuery函数的更短,更方便的名称。

window.jQuery = window.$ = jQuery;
// This is usually what a jQuery library does

事实上,使用jQuery库会多次调用jQuery(...),编写$(...); $(...); $(...);比编写jQuery(...); jQuery(...); jQuery(...);要快得多。您实际上可以看到在使用jQuery的站点的控制台中键入以下行,如Stack Overflow本身,将返回true值:

$ === jQuery           // true
$.bind === jQuery.bind // true
// and so on...

那么为什么用户会在变量名称的开头添加$由于jQuery的常用缩写是美元符号,用户倾向于使用jQuery在开头有一个美元符号,因此很容易知道它们来自后面的代码,如下所示:

var body = document.body,
    $body = $(document.body); // equivalent to jQuery(document.body);

// Now you know that $body does have all the common jQuery collection properties, but body doesn't

参考你的代码:$Code变量只是一个像任何其他对象一样的对象,但它可能是用jQuery创建的。

答案 1 :(得分:1)

$Core只是一个全局变量/对象(实际上它与该范围内的window.$core相同)。

$是变量名的有效前缀,尽管一个标准只是为jQuery对象/变量使用该前缀。

$Core.box = function(){}只是将函数分配给该全局变量的box属性。

库或插件可能会使用该函数,但如果没有关于您的页面和所包含内容的更多信息,则不清楚的确切用途是什么:)