这个问题中的 $( ) 是 JavaScript 还是 jQuery 的表示法?

4
我正在尝试区分JavaScript和jQuery,并准确描述它们所代表的内容。
起初,我认为jQuery是一组库、插件和工具包。这个想法来自于同事的介绍、网上的阅读以及我使用的Slick(一个图像轮播)是从jQuery下载的。
但随着我越来越熟悉JavaScript,我不再对已下载的库(Slick)进行特定调用:
$('.multiple-items').slick({...});

最近我一直在进行以下类似的通话:

$('.mid-buttons').click(function(){...});

这让我感到困惑,因为除了Slick之外,我从未下载过任何jQuery库,所以.click是自动下载的jQuery库的一部分还是JavaScript自带的一部分呢?
此外,在HTML/CSS中,$()是否用于调用对象,或者被调用的方法.slick.click决定了$( )的使用?
我知道这些问题非常业余,但很难找到一个明确区分我正在尝试做出/理解的区别的资源。谢谢!

3
许多网络页面作者都存在“仿制神秘”(cargo cult)的行为,他们将代码盲目地复制粘贴。其中许多人并不理解JavaScript和jQuery之间的区别。然而,仅仅因为某些JavaScript代码调用了jQuery库,并不能就称之为“jQuery”,这是不正确也不正常的。 - Quentin
2
这是一个好的、有效的问题——很遗憾看到它被投票否决了。 - Cymen
2
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Mike Cluck
2
@8protons - jQuery就是jQuery,其他的东西很多人使用它或者作为它的插件。jQuery.com有一个可搜索的插件数据库,但它们只是插件,有自己的名称,并且仅依赖于jQuery而不是它的一部分。 - Quentin
2
@8protons 你做到了!就是这样。 - Mike Cluck
显示剩余6条评论
4个回答

10

JavaScript是一种编程语言。

jQuery是用JavaScript编写的一个库。

$是JavaScript中的有效标识符名称。

jQuery使用$作为其主要函数的变量名(还使用jQuery)。这个函数在jQuery文档中定义

当你将它作为函数调用时(通常使用$(some arguments here)语法),返回值是一个jQuery对象。这些对象通常包装了一些DOM节点。

Slick是一个插件。它是另一个扩展jQuery功能的库(使用jQuery插件API)。它提供了一个可以在jQuery对象上调用的方法。


非常感谢您的回复!"$(一些参数在这里)),返回值是一个jQuery对象。" 所以,如果我理解正确的话,该返回值是一个对象,可与一些附加的jQuery方法(如.click或.slick)一起使用? - 8protons

1

jQuery是一个库。 它有自己的一套功能。你下载的是一个jQuery插件,也就是说,它扩展了jQuery。

jQuery本身只是Javascript。仅此而已。你甚至可以在这里阅读源代码的注释版本。

$()是jQuery函数。它是大多数jQuery操作的基本起点。在其最简单的形式中,它是一种抓取DOM节点并将其包装在特殊包装器中的方法,该包装器可以访问其余的jQuery API。


1
jQuery通常被表示为$jQuery。您可以通过运行$.fn.jqueryjQuery.fn.jquery来查看它们是相同的,这将给您版本号。或者运行$ == jQuery。因此,即使$看起来很特殊,它只是像任何其他函数一样的函数,通过在$后面放置(),您正在运行jQuery函数。
click这样的东西是jQuery核心的一部分。它对插件采用了整体式方法,即它们增强了jQuery实例变量($jQuery)。如果您尝试CommonJS,您会看到不同JavaScript代码片段如何被拉在一起的非整体式方法。

1
你可以通过运行$.fn.jquery和jQuery.fn.jquery来看到它们是相同的。给我一个例子让我自己验证真的很棒,谢谢! - 8protons

0

$() 是有效的 JavaScript 语法。jQuery 是一个库,并定义了函数$。在 JavaScript 中,您使用 () 调用函数。


$ = jQuery 定义的函数 () = JavaScript 函数参数分隔符 $() = 对我来说有点混淆,请您再解释一下。 - 8protons
2
@8protons $() 只是一个函数调用。它调用 $ 函数。 - Matt Ball
2
@8protons $ 是一个函数,对吗?所以你需要用 () 调用它,否则它只是另一个值。就像不带 ()alert 一样。没有它们,它什么都不会做。 - Mike Cluck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接