JavaScript和jQuery有什么区别?

50

JavaScript和jQuery的主要区别是什么?我知道一些小的区别,比如jQuery更高效可靠。


4
jQuery 是一个用 JavaScript 编写的库,旨在使编写代码更加容易。我最喜欢的部分是它们命名的函数,例如 toggleshowhideslideToggleinsertAfter - Praveen
jQuery是一个使用Javascript构建的库/框架。它非常受欢迎,因为它(几乎普遍地)抽象了跨浏览器兼容性问题,并且强调不显眼和回调驱动的Javascript编程。[stackoverflow](https://dev59.com/nnA75IYBdhLWcg3wv70j) - rynhe
4
“jquery高性能”,你一定读错了什么。 - A. Wolff
1
jQuery所需的额外库可能会大大增加那些网络较慢的用户的加载时间。 - SMBiggs
6个回答

43

jQuery是一个JavaScript库。

阅读

维基百科-jQueryGitHubjQuery vs. javascript?


来源

JQuery是什么?

在JQuery之前,开发人员会创建自己的小型框架(一组代码),这样所有开发人员都可以解决所有错误,并为他们更多地分配时间来处理特性,因此JavaScript框架应运而生。然后是协作阶段,开发人员组不再编写自己的代码,而是免费提供它,并创建可供每个人使用的JavaScript代码集。这就是JQuery,一组JavaScript代码库。最好的方法是解释JQuery及其使命,正如JQuery网站首页所述:

JQuery是一个快速而简洁的JavaScript库,可简化HTML文档遍历、事件处理、动画和Ajax互动,从而实现快速Web开发。

正如您所看到的,JQuery只是JavaScript。还有一种名为MooTools的JavaScript代码库,只是JQuery最受欢迎。


JavaScript与JQuery

哪个更好,JavaScript还是JQuery是一个有争议的讨论,实际上答案都不是最好的。它们都有各自的作用,我曾在在线应用程序上工作,其中JQuery不是正确的工具,而应用程序所需的是直接使用JavaScript开发。但对于大多数网站来说,仅需要JQuery。Web开发人员需要做出明智的决定,选择对他们的客户最好的工具。初学Web开发的人确实需要了解两种技术,只是一直使用JQuery并不能教授JavaScript的细微差别以及它如何影响DOM。

始终使用JavaScript会使项目变慢,而JQuery库已经解决了JavaScript在不同网络浏览器之间的大部分问题,因此可以确保它能够在所有平台上工作,从而使部署更加安全。


JavaScript是一种语言。jQuery是一个使用JavaScript构建的库,旨在帮助做常见Web任务的JavaScript程序员。

请参见这里


我猜它不是一个框架,而是一个库。https://dev59.com/U2w05IYBdhLWcg3wuUOZ - Stefano Magistri
@StefanoMagistri 是的,我更新了帖子。 - Tushar Gupta - curioustushar

37
jQuery是一个JavaScript库,可用于与DOM进行通信(选择HTML元素、附加事件监听器、动画等)、创建和消耗AJAX请求以及以比使用纯JavaScript更轻松的方式执行其他操作。jQuery是用JavaScript编写的。应注意的是,浏览器仅解析HTML、CSS和JavaScript文件。因此,所有JavaScript库/框架(jQuery、Knockout、Angular等)都是用JavaScript或类似TypeScript的语言编写的,这些语言可以将代码转换为JavaScript(例如Angular 2)。它们提供了编写较少代码或按照MVC(例如Angular)、MVVM(例如Knockout)等模式创建接口的机会,但在底层,它们都会生成JavaScript文件。
下面是一个示例,以便理解为什么使用jQuery可以“少写多做”。
让我们来看一个输入元素:
<input id="button1" type="button" value="clickMe"/> 

同时,当用户单击按钮时,我们希望通过警告框来通知用户显示“Hello”消息。

如果我们要使用普通JavaScript实现此操作,我们将编写以下代码:

document.getElementById("button1")
        .addEventListener('click', function(){ 
            alert("Hello");
        });

另一方面,如果我们使用jQuery,只需写下以下内容即可实现相同的结果:

$('#button1').click(function(){ 
    alert("Hello"); 
});

使用jQuery比使用纯JavaScript更加清晰,即使是为了达到相同的目的。(写得更少,做得更多是jQuery的座右铭)

此外,jQuery很好地处理了浏览器兼容性问题,您可以轻松地使用其API,而不必像使用纯JavaScript那样感到困惑。

以下是上面代码的片段:

document.getElementById("button1")
        .addEventListener('click', function(){ 
            alert("Hello");
        });
<input id="button1" type="button" value="clickMe"/>

$('#button1').click(function(){ alert("Hello"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="button1" type="button" value="clickMe"/>


什么是JavaScript任务? - Tibos
3
JavaScript可以让你选择DOM元素,并在需要时为它们添加特定的行为。例如,如果您有一个<button>类型的输入元素,并希望在单击该元素时弹出一个框,则应选择该元素,为其单击事件添加回调函数等等。以上所有内容都是JavaScript任务。 - Christos
真的是一个很好的例子,可以帮助理解其中的区别。 - Gladiator
方法名“getElementById”中有一个轻微的拼写错误。我尝试进行编辑,但它说编辑必须超过6个字符! - Ashok Dey

5

Javascript是一种编程语言,而jQuery是一个帮助我们更轻松地编写Javascript的库。它特别适用于在HTML页面中简单遍历DOM。


4

Javascript是jQuery的基础。

jQuery是JavaScript的一个封装,提供了许多预先编写好的功能和DOM遍历。


3

3

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