有人可以努力解释一下jquery$
和$()
jquery之间的区别吗?
我知道这$()
是一种速记形式,$jQuery()
它采用任何 DOM 元素并将其转换为 jQuery 对象。
但我不确定是什么$
以及它与$()
. 请赐教。
非常感谢,柴坦亚
有人可以努力解释一下jquery$
和$()
jquery之间的区别吗?
我知道这$()
是一种速记形式,$jQuery()
它采用任何 DOM 元素并将其转换为 jQuery 对象。
但我不确定是什么$
以及它与$()
. 请赐教。
非常感谢,柴坦亚
$
是一个可以调用的函数$()
- 。
的行为$()
根据提供的参数而有很大差异,尽管下面的所有示例都将返回一个jQuery
对象。它可以:
document.ready
处理程序 -$(myfunc)
$('#myid')
$('<div>')
$()
$
也是一个对象,其中包含各种实用功能$.each
等作为该对象的属性。在这种情况下,它就像这些函数的命名空间。
$ = jQuery
- 这是用于它包含的 jQuery 实用程序的 jQuery 对象,例如$.Ajax()
或$.each()
因此var j = $;
会将 jquery 原型分配给变量j
。
$() = jQuery()
- 这是从根 jQuery 对象调用的函数,用于将 DOM 元素转换为 jQuery 对象或使用选择器获取 jQuery 对象
希望这会有所帮助并添加到其他帖子:)
$
= 是一个有效的 javascript 对象/标识符。
$()
= 调用 $() 创建一个空的 jQuery 对象。
jQuery()——也可以写成 $()——在 DOM 中搜索任何与提供的选择器匹配的元素,并创建一个引用这些元素的新 jQuery 对象:
官方文档 请在此处阅读文档(点击我)我强烈建议您阅读此文档。
您的问题是 2 个独立问题的混合,请参见下文:
如果我创建一个函数:
功能 my_function() { alert('my_function'); 返回(33)}
my_function
是一个包含函数的变量。
my_function()
是函数调用的结果。
您将使用函数调用my_function()
来执行函数中的指令和/或将返回的结果放入变量var my_var = my_function();
中。
您将使用函数的变量名将其作为参数传递给另一个函数,例如$('a').click(my_function);
因为在 JavaScript 中变量可以是任何类型,包括标量(文字值)、数组、对象和函数。
现在采用这个想法并以此为基础:
$
只是一个变量名,jQuery
就像一个变量名一样。
碰巧这个变量包含一个函数,它意味着$()
或jQuery()
执行函数体中存在的任何指令$
。
$
是对 jQuery 命名空间的引用,通过它您可以访问其静态方法(例如ajax
,each
等),同时$()
调用一个函数,该函数要么注册 DOM 就绪回调(如果将函数传递给它)或从 DOM 返回元素(如果选择器字符串或元素被传递给它)。
顺便说一句,$
是 的简写jQuery
,不是$jQuery
。
在 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;