我已获得以下代码段:
$Core.box = function($sRequest, $sWidth, $sParams) {
tb_show('', $.ajaxBox($sRequest, 'width=' + $sWidth + ($sParams ? '&' + $sParams : '')));
return false;
};
但我不明白$Core
代表什么。
美元在$Core
和其他变量中的含义是什么?
为什么功能代码存储在$Core.box
?
答案 0 :(得分:4)
$
符号在JavaScript中没有任何特别之处,它只是在变量名中使用的另一个有效字符。
例如,您可以调用变量abc
,a$b$c
,hè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
属性。
库或插件可能会使用该函数,但如果没有关于您的页面和所包含内容的更多信息,则不清楚的确切用途是什么:)