jQuery或纯JavaScript?

5

一个非常熟悉JavaScript的程序员,会用JQuery还是纯JavaScript来编写代码呢?

换句话说,JQuery只是为那些不太了解JavaScript的人准备的吗?

假设我们正在谈论创建“公司展示网站”,其中JavaScript主要用于动画效果。


jQuery是一种工具。优秀的程序员知道何时使用哪种工具。在我看来,只有理解JavaScript,才能有效地使用jQuery。 - Felix Kling
4
这个问题怎么会得到赞同?这是一个主观的问题,要求给出意见。它不适合在这里发布(抱歉,Hakan)。 - Felix Kling
4
因为这个网站的大多数用户不知道这个网站是什么。坦率地说,他们似乎也不在意。 - Lightness Races in Orbit
如果将其改为“专业的JavaScript程序员应该学习并使用jQuery”,会怎么样? - Matt
2
@Matt:就像“我知道X和Y。我应该学Z吗?”它仍然在征求意见。 - Felix Kling
显示剩余7条评论
6个回答

14

jQuery不是一种独立的编程语言,而是JavaScript库。无论你是否使用jQuery,它仍然是“纯JavaScript”。

JavaScript旨在用于函数式和面向对象的编程。对于任何非平凡的应用程序,好的程序员都可能利用这些工具来帮助编写干净、可维护和高效的代码。

当你将一组可以重复使用的函数/对象/类型等分组在一起时,你正在创建一个库——无论你是否给该库命名。任何好的程序员都知道要这样做以便重用源代码,提供方便/实用功能,并避免为常见任务反复编写相同的代码。

John Resig恰巧创建了一个优秀的DOM操作库,并在慷慨的开源许可下发布了它。该库推广了许多程序员喜欢的编程风格,因此变得非常流行。

我认为可以肯定地说,John Resig非常了解JavaScript,他肯定会使用jQuery。如果这不会反映出他的编程能力较差,那么为什么使用jQuery的其他人就应该被视为编程能力较差呢?

最后,一个好的开发人员不应该仅仅以他们自己编写的项目代码量为定义。如果你是一个孤狼黑客,喜欢自己构建所有内容,那很好。但是开发人员的质量应该反映在他们产生的最终结果的质量上。如果你自己构建了一个CMS,没有使用任何现有的库或框架或与任何人合作,但它是一堆乱麻代码,表现出紧密耦合并违反DRY原则,那么你完全不使用现有库编写所有代码的事实意义甚微。

我认为大多数客户可能更希望你利用适合工作的任何现成解决方案来完成项目、节省时间并产生更好的结果。


6

Jquery可以用更少的代码实现相同的效果(通常会稍微慢一些,但不会影响任何人),通常不需要声明临时变量。例如:

$('a').click (function () {/* blabla */ }).css ({/* some css here */});

在纯JavaScript中,这一行可以表达为:

var links =  document.getElementsByTagName("a") // in modern browsers = document.querySelectorAll("a");
for(var i =links.length; i--;){ 
    var l = links[i];
    l.addEventListener("click", function(){  //bla bla},true);
    l.style.someCssAtrribute = 'someValue'
   //etc
}

尽管jQuery的体积约为100kb,但你可以写更少、更清晰的代码。

1

我喜欢认为自己对JavaScript很熟悉,但在学习了JQuery之前却不喜欢使用它。有了JQuery,我可以更快地编写代码,让其他人更容易阅读和维护。你为什么不使用它呢?


0

jQuery并不是真正帮助你处理JavaScript的工具 - 它帮助你处理DOM操作、事件和Ajax请求等事项。要编写好的软件,你仍然需要对语言有很好的理解,但是jQuery和其他工具可以在创建可用应用程序方面提供巨大的帮助。

因此,对于你的问题,答案是“不,jQuery不仅适用于不了解JavaScript的人”。


0
jQuery的优势在于将常见需求分解为行为,其中jQuery会处理脏活来确定如何最好地满足当前浏览器的请求。这使得您的代码对所有浏览器都保持一致和简洁。此外,它允许您使用选择器影响DOM,使您能够一次性地而不是逐个地操作具有相同意图的元素。

0

在寻找JavaScript和jQuery之间的区别上并没有意义。jQuery是JavaScript中最高效的库之一,它使事情变得更加容易。但是说jQuery是为那些不熟悉JavaScript的人准备的是愚蠢的。如果你是JavaScript专家,你将成为那些能够有效使用jQuery的人之一。同时,如果你是JavaScript的初学者,但相信自己已经很好地掌握了如何使用jQuery,我建议你学习更多的JavaScript,因为jQuery会隐藏很多东西,有时候你可能无法识别你所犯的错误——即使是一个简单的jQuery语句也可能使用循环——所以在使用jQuery时要小心。这是关于性能和效率的问题,因此,如果你想使用jQuery编写无缺陷的代码,你应该了解JavaScript,只有这样你才能充分利用它。


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