有人可以帮我解释一下jQuery中$
和$()
之间的区别吗?
我知道$()
是$jQuery()
的简写形式,它接受任何DOM元素并将其转换为jQuery对象。
但我不确定什么是$
和$()
有什么不同。请赐教。
感谢堆, 切塔尼亚
有人可以帮我解释一下jQuery中$
和$()
之间的区别吗?
我知道$()
是$jQuery()
的简写形式,它接受任何DOM元素并将其转换为jQuery对象。
但我不确定什么是$
和$()
有什么不同。请赐教。
感谢堆, 切塔尼亚
$
是一个功能可以被称为 - $()
。
$()
的行为因所提供的参数而异,但以下所有示例将返回返回 a jQuery
对象。它可以:
document.ready
处理机 - $(myfunc)
$('#myid')
$('<div>')
$()
$
也是对象包含各种utili ty函数$.each
等属性该对象。在这种情况下,它就像这些函数的命名空间一样。
$
是一个参考jQuery的命名空间,通过它您可以访问它的静态方法(如ajax
,each
等),而$()
调用要么注册了功能的DOM就绪回调(如果函数被传递给它)或返回DOM中的元素(如果选择器字符串或元素传递给它)。
顺便说一句,$
是jQuery
的简写,而不是$jQuery
。
$ = jQuery
- 这是其用于jQuery的Utilies它包含如$.Ajax()
或$.each()
因此var j = $;
将jquery的原型分配到变量j
jQuery对象。
$()= jQuery()
- 这是一个从根jQuery对象调用的函数所使用转换DOM元素jQuery的对象或使用选择
所以,我可以认为$为jQuery别名因此$()是jQuery函数? –
得到的jQuery对象如果创建一个功能:
功能my_function(){ alert('my_function'); return(33) }
my_function
是一个包含函数的变量。 my_function()
是函数调用的结果。
您可以使用函数调用my_function()
来执行函数中的指令和/或将返回的结果存入变量var my_var = my_function();
。
你会使用该函数的变量名,以便把它传递给另一个函数作为参数如$('a').click(my_function);
由于在JavaScript变量可以是包括标量(文字),阵列的任何种,对象和功能。
现在采取这一想法,并建立它:
$
仅仅是一个变量名,就像jQuery
仅仅是一个变量名。
由于恰巧这个变量包含的功能,这意味着$()
或jQuery()
执行什么都说明目前在函数体$
。
希望这有助于和上添加到其他职位:)
$
=是一个有效的javascript对象/标识符。
$()
=调用$()会创建一个空的jQuery对象。
jQuery的() - 其也可以写成$() - 检索通过DOM用于所提供的选择器匹配的任何元件,并创建一个新的jQuery对象,引用这些元素:
官方文档Please read docs here (click me)我强烈建议您阅读本文档。
你的问题是2个sperate问题混请参阅以下内容:
在Javascript中,一切数据,这包括功能。作为一个人为的例子:
function test() {
console.log("test");
}
对于此示例,test()
是函数的调用。只需用test
就像使用一个变量,它允许你做这样的事情:
var t = test;
t();
然后使t
具有相同的数据/功能test
。
这就允许你做的东西像一个封闭:
function closure() {
var i = 0;
function inner() {
i++;
console.log(i);
}
return inner;
}
由于函数仅仅是一些数据,我们可以返回,然后调用它。所以你会写如下:
var t = closure();
t(); // prints '1'
t(); // prints '2'
除了其他的好处,这样做可以让你的名字空间少一点混乱。
直接回答你的问题,$
只是为jQuery
的别名这是做制作:
function jQuery() { /* Lots of code */ }
$ = jQuery;
$和jQuery都指向window.jQuery对象。 –
检查此[差异之间这两个](http://stackoverflow.com/questions/4609133/what-is-the-difference-between-these-two) –