有没有什么好的理由不使用jQuery而不是普通的旧JavaScript?
我最近发现了jQuery,我可以立即看到它是多么有用和优雅。
不过我很好奇 – 是否有任何理由不使用它(而只是使用普通的旧JavaScript)? 如果没有任何原因,它是否应该完全集成到JavaScript语言中?
有什么理由不使用它
- 有更好的图书馆。
- 它增加了页面重量(对于小型项目来说,重量通常比成本更高)
它应该没有完全集成到Javascript语言中吗?
jQuery所做的大部分内容与DOM相关,而不是JavaScript。
如果您实际上没有使用jQuery的任何function,则没有理由将页面权重引入您的站点。 如果您确实使用了任何function,除了学习目的之外,可能没有充分理由推出自己的版本。
一个原因 – 实际学习javascript 。
这是一种经常被忽视的真正美丽的语言,因为当人们说“我知道javascript”时,他们实际意味着“我知道如何复制和粘贴$('#content').hide(200)
让我的应用看起来很酷”。
这有点难过。
话虽如此(没有双关语),我一直使用jquery来处理xhr,DOM操作等普通任务。 不幸的是,绝对没有理由重新发明轮子(不止一次),尤其是考虑到这样一个事实,有时候,你必须为每个主要的浏览器发明一个单独的轮子。
我也喜欢JQuery – 所以不要误会我的意思……但作为Devil的倡导者:
- 并非团队中的每个人都知道JQuery,因此如果他们inheritance了你的工作,他们就会陷入困境
- 并不是每个人都认为JQuery是最好的JavaScript库(更多的是反对使JQuery成为JavaScript的同义词)
也就是说,我个人觉得你应该使用JavaScript库(大概是JQuery)而不是用JavaScript重新创建等效行为。 它是最受欢迎的库,它可能比手动JavaScript更易读/可维护。
很多不好的理由。 两个好的:
- 你不需要它 。 有很多东西你可能想用JavaScript做,不需要或特别受益于jQuery。
- 你不想要它 。 就个人而言,我认为jQuery太棒了。 集合,function链,简洁的语法……这一切都让我开心。 但是,有些人有不同的口味。
jQuery构建于javascript之上,封装了特定的编程风格和一组支持的function。 不是每个人都想使用这种编程风格或者更喜欢jQuery中的一组特性而不是其他框架中的特性。 jQuery肯定是在简单的javascript中自己编码相同function的改进,但不一定是所有javascript的替代,因为function集是有限的。 在使用jQuery(或任何其他框架)时,您仍然需要编写一些简单的javascript。
我可以用一个词来说:开销。 它为您的页面增加了另外19K。
不要误会我的意思,这是一个病态的图书馆 – 我一直都在使用它。
我认为选择一个你喜欢的JS&DOM和AJAX库是很重要的,使用这个库几乎总是合适的,但是不要让它阻止你学习重要的JavaScript特性,成语和技术,以及一些浏览器和DOM API。
害怕离开图书馆的界限是非常有限的。
我曾经使用过Jquery几次,而且与使用dom相比,这简直太容易了。 它似乎比旧式DOM更具可访问性。
用玛莎·斯图尔特的话来说,“这是件好事。”
如果你想进入.net语言或java,Javascript是一个很棒的初学者语言。 它没有其他编程语言那么复杂,但它仍然具有那些基本的,宝贵的原则。 jquery取消了这种相似性。 Javascript并不一定需要用于网页设计,例如,Unity 3d,一个游戏引擎,使用Unityscript,它几乎与javascript相同。 我学会了通过创建使用javascript的网站来使用它。
我知道它并不多,但我认为去javascript路线的一个很好的理由是学习如何编程。 为了构建一个站点,没有必要知道javascript,但是知道在基本级别上进入它的代码是很好的。
jQuery已经开发并且仍在为入门级开发人员开发。 实际上它几乎是为非开发人员构建的,所以它使一些事情变得非常容易但是性能交易。
它做了很多正确的事情,并且出于各种原因它做了很多错误,例如:
- 上面提到的“愚蠢”结构
- 品味jQuery团队
- 广泛(但有点矫枉过正)的跨浏览器function
所以我个人更喜欢为JS Ninjas编写的其他库以获得更好的性能。 我实际上创建了自己的库,但这是另一个问题。