使用jQuery的优缺点有哪些?

24
作为一个只有基本 JavaScript 掌握的人,jQuery 是否适合我?是否有更好的库可用?我看到很多与 jQuery 相关的帖子,它似乎是将 JavaScript 整合到 ASP.NET 应用程序中最有效的方法。
我已经去过 jQuery 的网站并找到了教程和其他有用的信息。任何其他参考资料(例如书籍、博客等)都会有帮助。
谢谢!
10个回答

21

jQueryPrototype 这样的库非常好,它们解决了许多跨浏览器的问题,使得编写Javascript变得更加容易。任选其中一个,甚至是 mootools 也能满足你的需求,它们各自的网站是最好的资源之一。

编辑: 至于页面上额外加载大小的 '缺点',建议使用Google来为您托管这些文件。乐观地说,一些人可能已经将其缓存从其他网站获取,而且Google会为您处理版本/压缩等问题。


Mootools 绝对是另一个不错的选择。 - Josh Mein
2
我不喜欢使用谷歌进行托管,因为他们的AJAX主机不时会出现几分钟到一小时的不可用情况。最好将其保留在您自己的服务器上,这样即使它出现故障,您也可以修复它。 - John Millikin
6
让谷歌托管脚本的一个明显优势是,如果访客曾经访问过另一个引用了谷歌源的网站,他们不需要重新加载它。因为源已经存在于他们的缓存中。 - Dscoduc
1
解决谷歌不可用问题的方法是检查并在无法连接时下载本地版本。 - RJD22

17

优点:jQuery是一个很棒的库,让你能够以更少的代码和更少的麻烦完成想要做的事情。插件架构非常简单,制作插件的社区非常强大和活跃。如果你能想到“如果我能……那该多好”,那么很有可能会有相应的插件。

缺点:你被抽象出来了JavaScript的原始操作。不要低估这个“缺点”的影响。尽管在纯JS(即没有库的JavaScript)中工作可能非常痛苦,但它可以让你更好地理解你实际上正在做什么。你可能会发现,基于jQuery的解决方案实际上可以使用较少的开销在纯JS中完成。


我同意你的第二点,对于“只是基本掌握JavaScript的人”,直到他完全掌握了概念,然后再使用更多的jQuery。顺便说一下,“更少的开销”是指他的代码量减少还是执行开销减少? - NVRAM
执行开销更小。我想不出任何情况下 jQuery 比纯 JavaScript 更冗长。 - nickf
1
+1 对于极其重要的缺点,其他答案都没有提到。 - TachyonVortex

12

优点:您不必处理复杂的跨平台JavaScript兼容性问题。您不必担心哪些浏览器支持标准事件处理程序,哪些浏览器有自己的事件系统。您不必编写长达两百行的DOM操作代码和恶魔级别的函数名才能获得漂亮的动态页面。

缺点:这是额外的15KB代码,用户第一次加载页面时需要下载。


2
我认为即使是经过压缩的形式,它也有55 KB。 - Cyril Gupta

4
在刚开始学习JavaScript时,我惊叹于各种库。然后我更仔细地研究了jQuery,并且迷上了它。再也不会在没有加载jQuery的情况下使用DOM。jQuery不仅适用于网站,还可以带来强大的实用工具、减少代码量以及简单处理本地管理员JavaScript。
本地JavaScript + jQuery + msHta = 令人惊叹的界面驱动脚本!
有关在本地管理员脚本中使用jQuery的更多信息,请查看我的有关使用jQuery和HTA的文章...
Chris

4

我也刚开始使用jQuery,并发现它非常有帮助。对我来说,最大的优势是在VS中拥有一些非常好的智能提示,而不必查找世界上所有过时的方法来完成简单的任务。对我来说,它似乎比纯旧版JavaScript更加有组织,就像其他人所说的那样,它有很多好的内置库。


3

优点:少写代码,实现更多功能。

缺点:你需要学习它(只有VS才能智能感知,而不是大脑[:)])

如果您对jQuery感兴趣,这里有一篇很好的Rick Strahl撰写的jQuery书籍评论


1
我认为,凭借他们文档的质量,"必须学习" 的缺点是最小的。 - nickf

2

在学习jQuery方面,我发现最有帮助的是其他人编写的插件。你可以找到一些自己喜欢的东西,并阅读插件代码。你可能会发现一些非常酷的东西来学习。


1

Jquery也是我使用的第一个JavaScript框架。我发现它的语法相当容易掌握,它的插件库和用户支持也非常有帮助。虽然最终我仍然会借阅JavaScript书籍,但我觉得Jquery或许是展示JavaScript强大之处的好方法。


0

如果你只是想要一个浏览器兼容且体积较小的javascript工具来进行DOM操作和ajax,那么jQuery可能是你要找的。

但是jQuery在以下两个方面存在不足:

  1. 完整的小部件(类似于extjs)。注意:jQuery-UI并不是很完整且速度较慢。
  2. 面向对象支持(Mootools)。

0

优点:跨浏览器,用户友好的函数名称。

  Many plug-Ins.

  Only 15KB on the client Side.

  Community is pretty huge to guide you.

  Easy to work with Services(.svc,asmx) etc. I believe it is wonderful.

缺点:

You may forget JavaScripting

所以,我建议初学者先学习JavaScript,并为JQuery做好准备。


吹毛求疵:它不是Java脚本,而是JavaScript。 - dheerosaur

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