有没有什么好的理由不使用jQuery而不是普通的旧JavaScript?

时间:2009-11-30 21:53:40

标签: javascript jquery

我最近发现了jQuery,我可以立即看到它是多么有用和优雅。

我很好奇,但有没有任何理由不使用它(而只是使用普通的旧JavaScript)?如果没有任何原因,是否应该将其完全集成到JavaScript语言中?

11 个答案:

答案 0 :(得分:19)

如果您实际上没有使用jQuery的任何功能,则没有理由将页面权重引入您的站点。如果您使用任何功能,除了学习目的之外,可能没有充分理由推出自己的版本。

答案 1 :(得分:15)

  

是否有任何理由不使用它

  • 有更好的图书馆。
  • 它增加了页面权重(对于小项目来说,权重通常比收益更高)
  

它是不是应该完全集成到Javascript语言中?

jQuery所做的大部分内容与DOM相关,而不是JavaScript。

答案 2 :(得分:11)

一个原因 - 实际上学习javascript

这是一种经常被忽视的真正美丽的语言,因为当人们说“我知道javascript”时,他们实际意味着“我知道如何复制和粘贴$('#content').hide(200)以使我的应用看起来很酷”。

这有点难过。

如果说(没有双关语),我一直使用jquery来处理xhr,DOM操作等普通任务。不幸的是,绝对没有理由重新发明轮子(不止一次),尤其是考虑到这样一个事实,有时你必须为每个主要的浏览器发明一个单独的轮子。​​

答案 3 :(得分:8)

我也喜欢JQuery - 所以不要误会我的意思......但作为Devil的倡导者:

  • 并非团队中的每个人都知道JQuery,因此如果他们继承了你的作品,他们就会陷入困境
  • 并非所有人都认为JQuery是最好的JavaScript库(更多的是反对使JQuery成为JavaScript的同义词)

那就是说,我个人觉得你应该使用JavaScript库(大概是JQuery)而不是用JavaScript重新创建等效行为。它是最受欢迎的库,它可能比手动JavaScript更易读/可维护。

答案 4 :(得分:5)

很多不好的理由。两个好的:

  1. 您不需要。有很多事情你可能想用JavaScript做,不需要或特别受益于jQuery。
  2. 你不想要它。就个人而言,我认为jQuery太棒了。集,功能链,简洁的语法......这一切都让我开心。但是,有些人有不同的口味。

答案 5 :(得分:5)

jQuery构建于javascript之上,封装了特定的编程风格和一组支持的功能。不是每个人都想使用这种编程风格或者更喜欢jQuery中的一组特性而不是其他框架中的特性。 jQuery肯定是在简单的javascript中自己编码相同功能的改进,但不一定是所有javascript的替代,因为功能集是有限的。使用jQuery(或任何其他框架)时,你仍然需要编写一些简单的javascript。

答案 6 :(得分:5)

我可以用一个词来说:开销。它会为您的页面增加19K。

别误会我的意思,这是一个病态的图书馆 - 我一直都在使用它。

答案 7 :(得分:1)

我认为选择JS& DOM&你喜欢的AJAX库很重要,使用这个库几乎总是合适的,但是不要让它阻止你学习重要的JavaScript特性,成语和技术,以及一些浏览器和DOM API。

害怕离开图书馆的界限是非常有限的。

答案 8 :(得分:0)

我曾经使用过Jquery几次,而且与使用dom相比,这简直太容易了。它似乎比旧式DOM更具可访问性。

用玛莎·斯图尔特的话来说,“这是件好事。”

答案 9 :(得分:-1)

如果你想进入.net语言或java,Javascript是一个很棒的初学者语言。它没有其他编程语言那么复杂,但它仍然具有那些基本的,宝贵的原则。 jquery取消了这种相似性。 Javascript不一定需要用于网页设计,例如,Unity 3d,一个游戏引擎,使用Unityscript,它几乎与javascript相同。我学会了通过创建使用javascript的网站来使用它。

我知道它并不多,但我认为去javascript路线的一个很好的理由是学习如何编程。为了构建一个站点,没有必要知道javascript,但很高兴知道基本级别的代码。

答案 10 :(得分:-2)

jQuery已经开发并且仍在为入门级开发人员开发。实际上它几乎是为非开发人员构建的,所以它使一些事情变得非常容易但是性能交易。

它做了很多事情,并且因为各种原因而做了很多错事:

  • 上面提到的“愚蠢”结构
  • jQuery团队的品味
  • 广泛(但有点矫枉过正)的跨浏览器功能

所以我个人更喜欢为JS Ninjas编写的其他库以获得更好的性能。我实际上创建了自己的库,但这是另一个问题。