使用 jQuery 的优缺点是啥? [关闭]

Posted

技术标签:

【中文标题】使用 jQuery 的优缺点是啥? [关闭]【英文标题】:What are some of the pros and cons of using jQuery? [closed]使用 jQuery 的优缺点是什么? [关闭] 【发布时间】:2010-09-12 11:33:28 【问题描述】:

作为一个只精通 javascript 的人,jQuery 适合我吗?有没有更好的库可以使用?我看过很多与 jQuery 相关的帖子,它似乎是将 javascript 整合到 ASP.NET 应用程序中的最有效方式。

我已经访问了jQuery's 站点并找到了教程和其他有用的信息。任何其他参考资料(即书籍、博客等)都会有所帮助。

谢谢!

【问题讨论】:

【参考方案1】:

jQuery 和 Prototype 之类的库的优点在于,它们处理了许多可能使 Javascript 编写变得如此痛苦的跨浏览器 kwirks。其中任何一个或什至mootools 都会对您有好处,它们各自的网站都与将要获得的资源一样好。

编辑:至于在您的页面上有额外加载大小的“骗局”,我建议使用Google 为您托管这些内容。乐观地说,有些人会从其他网站缓存它,而且 Google 会为您处理版本/压缩。

【讨论】:

Mootools 绝对是另一个不错的选择 我不喜欢使用 Google 进行托管,因为他们的 AJAX 主机有时会在几分钟到一个小时内不可用。最好将它保存在您自己的服务器上,至少如果它坏了您可以修复它。 让 Google 托管脚本的一个明显优势是,如果您的访问者访问过引用 Google 源代码的另一个站点,他们就不必重新加载它。源已经在他们的缓存中。 在不可用时解决 google 问题的一种方法是检查它并下载您自己的本地版本。【参考方案2】:

优点:jQuery 是一个很棒的库,它可以让你用很多 much much 完成你想做的事情更少的代码,更少的麻烦。插件架构非常简单,生产插件的社区非常强大和活跃。如果你能想“如果我能……那岂不是很好”,那么很可能有一个插件。

缺点:您正在从原始 Javascript 中抽象出来。不要低估这个“骗局”的影响。尽管在 vanilla JS(即没有库的 javascript)中工作可能会很痛苦,但它可以让您更好地了解您实际在做什么。您可能会发现您的基于 jQuery 的解决方案实际上可以在 vanilla JS 中完成,而且开销要少得多。

【讨论】:

我同意你的第二点,即“一个几乎不精通javascript的人”,直到他很好地掌握了这些概念,然后使用更多的jQuery。顺便说一句,“更少的开销”是指他的 code 或更少的 execution 开销? 更少的执行开销。我想不出任何 jQuery 比普通 javascript 更冗长的情况。 +1 表示极其重要的缺点,其他答案均未提及。【参考方案3】:

优点:您不必处理跨平台 Javascript 兼容性的混乱局面。您不必担心哪些浏览器支持标准事件处理程序,哪些有自己的事件系统。您不必使用 HugeLongFunctionNamesFromHell 编写 200 行 DOM 操作即可获得漂亮的动态页面。

缺点:这是您的用户在首次加载您的页面时必须下载的额外 15KB 代码。

【讨论】:

我认为即使是缩小形式也是 55 KB。【参考方案4】:

我也刚开始使用 jQuery,发现它非常有用。对我来说,最大的优势是在 VS 中有一些非常好的智能感知,并且不必查找世界上所有古老的方法来完成简单的任务。对我来说,它似乎比普通的旧 javascript 更有条理,而且就像其他人所说的那样,它有很多好的内置库。

【讨论】:

【参考方案5】:

当我刚开始学习 JavaScript 时,我惊奇地看着各种库。然后我更仔细地查看了 jQuery 并被迷住了。如果不加载 jQuery,我将不再使用 DOM。 jQuery 不仅适用于网站,还带来了强大的实用程序、减少的代码以及对本地管理员 JavaScript 的简单处理。

本地 JavaScripts + jQuery + msHta = 很棒的界面驱动脚本!

有关在本地管理员脚本上使用 jQuery 的更多信息,请查看我关于 using jQuery and HTA's 的帖子...

克里斯

【讨论】:

【参考方案6】:

优点:少写,多做。

缺点:你必须学习它(只有 VS 获得智能感知,而不是大脑 [:)])

如果您对 jQuery 感兴趣,这里是一个很好的Review of jQuery Books by Rick Strahl

【讨论】:

我认为就他们的文档质量而言,“必须学习”的弊端很小。【参考方案7】:

我发现对学习 jQuery 最有帮助的是其他人的插件。我会找到一些你喜欢的东西,然后阅读插件代码。你可能会发现一些很酷的东西来学习。

【讨论】:

【参考方案8】:

Jquery 也是我使用的第一个 JavaScript 框架。我发现语法更适合用来学习,插件库和用户的支持对于学习这种语言非常有帮助。虽然最后还是继续借阅javascript方面的书籍,但我觉得jquery或许是展示javascript强大的一个好方法。

【讨论】:

【参考方案9】:

如果您只是在寻找兼容浏览器且体积很小的 javascript 工具来进行 DOM 操作和 ajax,那么 jQuery 可能就是您要寻找的工具。

但是jQuery在这两方面都欠缺:

    成熟的小部件(想想 extjs)。注意:jQuery-UI 不够完善而且速度很慢。 面向对象的支持 (Mootools)。

【讨论】:

【参考方案10】:

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

  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

以上是关于使用 jQuery 的优缺点是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

git-flow 与 github-flow 的优缺点是啥? [关闭]

使用内容交付网络 (CDN) 的优点和缺点是啥? [关闭]

锚定建模的优缺点是啥? [关闭]

ajax 请求的 json vs xml 的优缺点是啥? [关闭]

Jade 和 EJS 对于 Node.js 模板的优缺点是啥? [关闭]

Dash by Plotly vs Jupyter Dashboards 的优缺点是啥? [关闭]