5

有人可以努力解释一下jquery$$()jquery之间的区别吗?

我知道这$()是一种速记形式,$jQuery()它采用任何 DOM 元素并将其转换为 jQuery 对象。

但我不确定是什么$以及它与$(). 请赐教。

非常感谢,柴坦亚

4

6 回答 6

20

$是一个可以调用的函数$()- 。

的行为$()根据提供的参数而有很大差异,尽管下面的所有示例都将返回一个jQuery对象。它可以:

  1. 注册一个document.ready处理程序 -$(myfunc)
  2. act as a selector -$('#myid')
  3. 构造元素 -$('<div>')
  4. 返回一个空对象 -$()

$也是一个对象,其中包含各种实用功能$.each等作为该对象的属性。在这种情况下,它就像这些函数的命名空间

于 2012-07-03T11:20:08.807 回答
6

$ = jQuery- 这是用于它包含的 jQuery 实用程序的 jQuery 对象,例如$.Ajax()$.each()因此var j = $;会将 jquery 原型分配给变量j

$() = jQuery()- 这是从根 jQuery 对象调用的函数,用于将 DOM 元素转换为 jQuery 对象或使用选择器获取 jQuery 对象

于 2012-07-03T11:20:28.887 回答
4

希望这会有所帮助并添加到其他帖子:)

  • $ = 是一个有效的 javascript 对象/标识符。

  • $()= 调用 $() 创建一个空的 jQuery 对象。

jQuery()——也可以写成 $()——在 DOM 中搜索任何与提供的选择器匹配的元素,并创建一个引用这些元素的新 jQuery 对象:

官方文档 请在此处阅读文档(点击我)我强烈建议您阅读此文档。

您的问题是 2 个独立问题的混合,请参见下文:

于 2012-07-03T11:23:44.887 回答
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()执行函数体中存在的任何指令$

于 2012-07-03T11:20:56.017 回答
0

$是对 jQuery 命名空间的引用,通过它您可以访问其静态方法(例如ajaxeach等),同时$()调用一个函数,该函数要么注册 DOM 就绪回调(如果将函数传递给它)或从 DOM 返回元素(如果选择器字符串或元素被传递给它)。

顺便说一句,$是 的简写jQuery,不是$jQuery

于 2012-07-03T11:20:00.427 回答
0

在 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;
于 2012-07-03T11:26:27.433 回答