什么时候可以使用jQuery?

时间:2009-04-04 02:53:19

标签: jquery

我最近一直在考虑在哪里划线,我想从那里经验丰富的开发人员那里得到一些答案。何时可以在Web应用程序中引用jQuery?

始终使用jQuery 的一些支持论据:

  • 您可以从Google的存储库中引用jQuery,它可能已经缓存在客户端上,从而消除了额外的大量请求
  • 您不必处理常见的跨浏览器问题,因为它们已经处理好了
  • 您喜欢编写代码,因为它是开发人员友好的

从不使用jQuery 的一些支持论据:

  • 解除第三方库的依赖性,这可能包含代价高昂的错误,并可能导致不合理的性能不佳
  • 你必须学习一种新的语法(就在你认为你经常发现Javascript时...)
  • 由于框架固有的复杂性,即使是最简单的任务也可能表现不佳

我将争论列为问题的一部分,因为我不希望得到双方争论的答案。我希望永远/永远不会回答,最好是测试用例场景(模糊详细)。

例如:“如果我需要在我的网络应用程序中执行任何AJAX请求,我总是使用jQuery”。

10 个答案:

答案 0 :(得分:27)

如果我需要在我的网络应用程序中通过document.getElementById()做任何事情,我总是使用jQuery。

老实说,我发现大多数针对jQuery的骗局都很弱,尤其是最后一个:

  

由于框架固有的复杂性,即使是最简单的任务也可能表现不佳。

根本不同意。 jQuery非常简单而强大,这就是我喜欢它。

答案 1 :(得分:22)

  

解除第三方的依赖关系   图书馆,可能包含昂贵的   错误,并可能导致不合理   表现不佳

累积起来,jQuery开发人员在消除各种浏览器上的错误和性能问题方面投入了更多的精力,而不是你或任何其他小团队所能做到的。

Not-Invented-Here综合症是浪费你的时间。

答案 2 :(得分:3)

没关系 - 无论是否有jquery,你都可以编写好的代码或烂代码。

答案 3 :(得分:2)

当你想要在DOM中没有的额外灵活性时,这是可以接受的。默认情况下,我不包括JQUERY;但是,只要我需要做任何客户端解除,我就会转向JQUERY。

我甚至会同时使用JQUERY和MSAjax(主要是在我离开MSAjax的遗留页面上)。

答案 4 :(得分:1)

我想说,只要你不想浪费时间处理不同的Javascript实现,就可以使用jQuery。这可能总是非常接近......

如果你所做的是一个相当小而微不足道的事情,引入jQuery(19KB缩小)作为依赖可能有点矫枉过正。

如果你不需要,不要重新发明轮子!

答案 5 :(得分:1)

我发现javascript并不是很多,因为jQuery并不简化。

对于数据验证,我更喜欢只有一个实现,因为我必须让服务器验证所有内容,不妨使用AJAX进行表单验证。 jQuery非常擅长。

对于DOM操作,jQuery提供了一种表达我可能需要的简洁方式。当然比我需要的3到10个函数调用更短,可能更清晰。

很少需要视觉效果。他们也很难携带。为了好处,如果我找不到预先打包的视觉效果,没有它我可能会更好。 jQuery UI和几个已建立的插件符合要求。

还有很多其他的JavaScript库,我相信它们中的很多都很棒,但除非它们提供绝对不可或缺的功能(例如Google API),否则我可能会让jQuery做得好,而且我我已经熟悉jQuery。

答案 6 :(得分:1)

我从不使用jQuery ......至于为什么?从来没有真正想过它,我想我还没有找到使用除了普通Javascript之外的任何东西的理由。另外,我不喜欢依赖于我不理解的抽象层。 (当然,我用Javascript做的事情并不是特别复杂,所以在我的情况下,jQuery真的会比它的价值更麻烦。)

答案 7 :(得分:1)

今天我在一个页面中添加了一个Javascript补丁,我必须将一个div移出DOM树中的原始位置并使其成为正文的子节点,以便可以正确定位。我知道它只需要在启动时发生一次特定的id'd div,并且该页面不会使用任何其他JS行为。所以我手工写了。

对于任何更复杂的东西,它都是jQuery。高级API只会节省我很多时间,否则我就不得不花费“低谈”到电脑上。

答案 8 :(得分:0)

好吧,至少在EcmaScript 5出现之前,浏览器将在他们的JavaScript引擎中实现一组通用的规范,jQuery是我们必须通过浏览器解决问题的最佳工具。不久前,每次启动js文件时,都必须以browser detect函数开头。我使用了原型,mootools,dojo和最近的jQuery,我对他们提供的帮助非常满意。

答案 9 :(得分:0)

仅仅为浏览器兼容性使用jQuery并不足以让我使用jQuery。现在大多数javascript框架已经能够解决这个问题了。至于我,如果我需要一个支持Ajax的非常简单的DOM操作工具,我会使用jQuery。如果我需要其他东西,我会使用其他JavaScript框架。如果我需要Javascript面向对象的支持,我会使用Mootools,如果我需要大量的内置小部件,我会使用Ext-JS