jQuery与JavaScript?[关闭]


76

最近,我偶然发现了一些javascript论坛(不幸的是,链接在宇宙中的某个地方丢失了),在这里您可能会因为不受欢迎而对jQuery感到真正的仇恨……没有什么好处吗?

实际上,大多数争论似乎都是有道理的。

现在,我真的很喜欢jQuery,主要是因为我可以专注于我想做的事情,而不是浏览器不一致问题,它实际上使具有炫酷(或过度使用?)效果的AJAXing变得有趣。

但是,如果确实是jQuery核心中的烂东西,我不想像我实际那样依赖它……依赖它。

我不想再争论哪个框架是最好的……但是……哪个框架是最好的(笑话)?作为案例,考虑中小型Web及其管理。

我只是想弄清楚,是否有一些框架或纯JavaScript的矿山功能很少真正有所作为。

编辑:

我实际上试图就以下各项的优缺点进行正常的客观讨论:

  1. 在纯JavaScript上使用框架和
  2. jQuery与其他

由于jQuery似乎最容易使用最快的学习曲线。但是,有些人只是不了解它,以为我又开始发火焰(我不是)。我实际上是在投票重新提出这个问题。

我也很感兴趣:

  • jQuery是否严重依赖浏览器嗅探?将来会成为潜在问题吗?为什么?
  • 我发现了很多JS选择器引擎,是否有AJAX和FX库?
  • 有什么原因(除了浏览器嗅探和对John Resig的个人“讨厌”之外),为什么jQuery是错误的?

实际上,最常用的jQuery也代表其他框架。


1
“我不希望启动另一个说法在其框架是最好的”,什么..“哪个架构是最好的?”?
菲利普·埃克伯格

1
@Jimmy -是的,但主要是你总能看到一点- jQuery的友好的网站jQuery ftw,一些JS论坛jQuery sucks,你永远看不到并排比较方
亚当吻

3
它是主观的,有争议的,如果不是封闭式的,则应该是社区Wiki。
Filip Ekberg 2010年

1
@Filip陈述了一些东西并对其进行了矛盾……这只是个玩笑而已……没关系>.<
Adam Kiss 2010年

2
@亚当我读了。我了解您不是要发动火焰战争。阅读写的东西。我不是说你是。我是说这是多余的不必要的
Jimmy Cuadra 2010年

Answers:


43

一切与性能和开发速度有关。当然,如果您是一名优秀的程序员,并且设计出真正适合您需求的内容,则与使用Javascript框架相比,您可能会获得更好的性能。但是,您是否有时间自己做所有事情?

我个人的观点是Javascript非常有用且过度使用,但是如果您确实需要Java,那么就可以使用框架。

现在是框架的选择。对于哪些基准值得,您可以在http://ejohn.org/files/142/中找到一个基准。它还取决于哪些插件可用以及您打算如何使用它们。我开始使用jQuery,是因为它当时似乎并不是最快的,但似乎已经得到维护并且功能强大。我不后悔,但是从那以后我没有进行任何其他测试。


好吧,尽管我确实(现在),但是声称jQuery如何在“最核心”的内核中做所有错误并评估浏览器和其他东西……让我感到困惑
Adam Kiss 2010年

1
jQuery不是框架,而是实用程序库。
弗拉基米尔·科纳(Fladimir Kornea)'18年

现在,也许吧。将近10年前,情况有所不同:)
Xr。

32

我个人认为您应该首先学习困难的方法。这将使您成为一个更好的程序员,当出现这种问题时,您将能够解决该问题。在您可以使用纯JavaScript做到这一点之后,使用jQuery加速开发只是一个额外的好处。

如果可以用困难的方式做到这一点,那么可以用简单的方式做到这一点,反之则行不通。这适用于任何编程范例。


11

像任何其他好的JavaScript框架一样,jQuery为您提供了独立于浏览器平台的功能,这些功能包裹了您可能不关心或不想关心的所有复杂问题。

我认为使用框架比使用纯JavaScript和从头开始做所有事情更好,除非您的使用非常有限。

我绝对推荐JQuery!

谢谢


我已经在使用jQuery,我对为什么更好的争论更感兴趣(抛开“易用性”)
Adam Kiss 2010年

1
由于它的优雅和持续不断的新功能,至少我还没有看到任何具有如此迅速增长的用户和支持社区的JavaScript框架。谢谢
Mahesh Velaga'Feb

3
@格雷格:我不明白你的评论。我是否Elegance在错误的环境中使用?
Mahesh Velaga,2011年

11

“我实际上试图就1.的利弊进行正常的客观讨论,使用纯javascript和2.jquery与其他框架,因为jQuery似乎最容易以最快的速度学习。”

因为不想真正学习基础语言而使用任何框架,这不仅对JavaScript来说是绝对错误的,对于任何其他编程语言也是绝对错误的。

“有什么原因(除了浏览器嗅探和对John Resig的个人“讨厌”之外),为什么jQuery是错误的?”

多数讨厌的表情来自于夸张的狂热狂热,这种狂热狂热以“使用jQuery”作为对每个JavaScript问题的回答来污染论坛,而过度使用则产生了通过简单的语句(例如,声明变量)通过库调用来完成代码。

但是,还存在一些合法的技术问题,例如在产生难以理解的代码和开销方面的共同罪恶感。当然,由于缺乏开发人员的能力而不是库本身,这两者使情况更加恶化。


8
  • jQuery是否严重依赖浏览器嗅探?将来可能是潜在的问题吗?为什么?

否-有$ .browser方法,但已弃用,并且未在核心中使用。

  • 我发现了很多JS选择器引擎,是否有AJAX和FX库?

负载。经常选择jQuery是因为它能很好地完成AJAX和动画,并且易于扩展。jQuery不使用它自己的选择器引擎,而是使用Sizzle,这是一个非常快的选择器引擎。

  • 有什么原因(除了浏览器嗅探和对John Resig的个人“讨厌”之外),为什么jQuery是错误的?

否-快速,相对较小且易于扩展。

对我个人而言,很高兴知道浏览器包含更多的内容(例如,类列表API),而jQuery会对其进行更新以包含它,这意味着我的代码始终尽可能快地运行。

如果您有兴趣,请仔细阅读源代码http://code.jquery.com/jquery-1.4.3.js-您将首先基于最佳情况添加功能,然后逐渐将其反向移植到旧版浏览器中-例如,来自1.4.3的parseJSON方法的一部分:

return window.JSON && window.JSON.parse ?
    window.JSON.parse( data ) :
    (new Function("return " + data))();

如您所见,如果window.JSON存在,浏览器将使用本机JSON解析器,如果不存在,则避免使用eval(因为否则minfiers不会缩小该位),并设置了一个返回数据的函数。这种先假设现代技术然后降级为较旧方法的想法在整个过程中都被使用,这意味着新浏览器可以在不牺牲传统兼容性的情况下使用所有的“爆炸”功能。


由于性能问题,带有jquery的动画可能不是最佳选择。 css-tricks.com/myth-busting-css-animations-vs-javascript也 将GSAP视为一个很好的软件包。
gdbj

5

jQuery VS javascript,在这个问题上我完全反对OP。比较发生在两个类似的事物上,而不是这种情况。

jQuery是Javascript。一个减少模糊编码的javascript库,收集了常用的javascript函数,事实证明这些函数有助于高效而快速的编码。

Javascript是源,浏览器响应的实际脚本。


2
我认为,谁想了解这个问题,谁就能理解。这里所说的重点是,jQuery是否值得实现,还是程序员应该使用干净的JavaScript。
Bunkai.Satori 2012年

@ Bunkai.Satori,主要询问jQuery vs Javascript类型答案。
Starx 2012年

@ Tiberiu-IonuțStan,或执行简单操作的多行代码。
Starx

1
在我看来,JQuery的中心问题是,尽管它提高了开发的易用性,但是却有令人不安的很多人认为JQuery是一种独立的语言,可以替代Javascript。因此,引人入胜的问题标题……以及因此而编写的很多代码,都不太了解DOM / JQuery / Javascript的操作方式。
Katana314 2013年

1
@ Katana314,我同意。流行的库(例如jQuery)是对语言的误解。可悲的是,即使在工作应用程序中,您也会看到JavaScript和jQuery专家。另一个例子是Ruby on Rails,它非常接近例外,但仍然不是其他语言。至少可以说这是菜鸟的常见错误。一旦他们的代码进入企业级别,他们将学习使用干净的javascript进行编码。
Starx
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.