【问题标题】:jQuery vs. javascript? [closed]jQuery 与 javascript? [关闭]
【发布时间】:2011-01-21 09:01:49
【问题描述】:

我最近偶然发现了一些 javascript 论坛(可悲的是,链接在宇宙中的某个地方丢失了),在那里你可能会因为 jQuery 没有......任何好处而感到真正的仇恨?

实际上大多数论点似乎都有道理。

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

但如果 jQuery 的核心确实有什么烂掉的东西,我不想像我实际上那样依赖它……依赖它。

我不想再开始争论哪个框架是最好的......但是......哪个框架是最好的(笑话)?作为案例使用,请考虑中小型网络及其管理。

编辑:

我实际上试图就以下方面的利弊进行正常的客观讨论:

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

因为 jQuery 似乎是最容易使用且学习曲线最快的。然而,有些人就是不理解,认为我正在点燃另一个火焰(我不是)。我实际上是在投票重新提出这个问题。

我也很感兴趣:

  • jQuery 是否严重依赖浏览器嗅探?这会是未来的潜在问题吗?为什么?
  • 我发现了很多 JS-selector 引擎,有没有 AJAX 和 FX 库?
  • 是否有任何原因(除了浏览器嗅探和个人对 John Resig 的“仇恨”)为什么 jQuery 是错误的?

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

【问题讨论】:

  • “我不想再争论哪个框架是最好的”,“。哪个框架最好?”什么?..
  • @Jimmy - 是的,但大多数情况下你总是看到一点 - 在 jQuery 友好网站上jQuery ftw,在一些 js 论坛上jQuery sucks,你永远不会看到并排比较
  • 它是主观的、有争议的,如果不关闭的话,应该是社区维基。
  • @Filip 陈述一些事情并反驳它......这有点像开玩笑......没关系>.<
  • @Adam 我读了。我知道你不是想发动一场火焰战争。阅读所写的内容。我没说你是。我是说这是多余的不必要的

标签: javascript jquery


【解决方案1】:

一切都与性能和开发速度有关。当然,如果你是一个优秀的程序员,并且设计出真正适合你需求的东西,那么你可能会获得比使用 Javascript 框架更好的性能。但是你有时间自己做这一切吗?

我个人认为 Javascript 非常有用且被过度使用,但如果你真的需要它,那么框架就是要走的路。

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

【讨论】:

  • 这正是我的想法(目前),但声称 jQuery 如何在“核心”核心中做错所有事情并评估浏览器和其他东西......让我感到困惑
  • jQuery 不是一个框架,它是一个实用程序库。
  • 现在,也许吧。近 10 年前,情况有点不同:)
【解决方案2】:

我个人认为你应该先学习困难的方法。它会让你成为一个更好的程序员,并且当它出现时你将能够解决这个问题。在你可以使用纯 JavaScript 完成之后,使用 jQuery 来加速开发只是一个额外的好处。

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

【讨论】:

    【解决方案3】:

    Jquery 与任何其他优秀的 JavaScript 框架一样,为您提供独立于浏览器平台的功能,包含您可能不关心或不想关心的所有复杂问题。

    我认为使用框架更好,而不是使用纯 JavaScript 并从头开始做所有的事情,除非你的使用非常有限。

    我绝对推荐 JQuery!

    谢谢

    【讨论】:

    • 我已经在使用 jQuery,我更感兴趣的是为什么它更好(把“易用性”放在一边)
    • 由于它的优雅和不断的新特性,至少我还没有看到任何 JavaScript 框架拥有如此快速增长的用户社区和支持。谢谢
    • @Greg:我不明白你的评论。我是否在错误的上下文中使用了Elegance
    【解决方案4】:

    “我实际上试图就专业人士和 1.,在纯 javascript 上使用框架和 2.,jquery 与 . 其他人,因为 jQuery 似乎是最容易使用最快的 学习曲线。”

    因为你不想真正学习底层语言而使用任何框架是绝对错误的,不仅对于 JavaScript,对于任何其他编程语言也是如此。

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

    大部分的仇恨来自于夸大的狂热,它污染了论坛,“使用 jQuery”作为每个 JavaScript 问题的答案,以及过度使用产生的代码,其中简单语句(如声明变量)是通过库调用完成的.

    尽管如此,也存在一些合法的技术问题,例如在产生难以辨认的代码和开销方面的共同内疚。当然,由于缺乏开发人员的熟练程度而不是库本身,这两种情况更加严重。

    【讨论】:

      【解决方案5】:
      • jQuery 是否严重依赖浏览器嗅探?将来可能是那个潜在的问题吗? 为什么?

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

      • 我发现了很多 JS-selector 引擎,有没有 AJAX 和 FX 库?

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

      • 是否有任何原因(除了浏览器嗅探和个人对 John Resig 的“仇恨”)为什么 jQuery 是错误的?

      不 - 它快速、相对较小且易于扩展。

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

      如果您有兴趣,请阅读源代码http://code.jquery.com/jquery-1.4.3.js - 您会看到首先根据最佳情况添加功能,然后逐渐向后移植到旧版浏览器 - 例如,1.4 中的 parseJSON 方法的一部分。 3:

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

      如您所见,如果 window.JSON 存在,则浏览器使用原生 JSON 解析器,如果不存在,则避免使用 eval(因为否则 minfiers 不会缩小该位)并设置一个返回数据的函数.这种首先采用现代技术,然后降级为旧方法的想法贯穿始终,这意味着新浏览器可以在不牺牲旧版兼容性的情况下使用所有出色的功能。

      【讨论】:

      【解决方案6】:

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

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

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

      【讨论】:

      • 在我看来,谁想明白这个问题,谁就明白。这里所说的重点是,jQuery 是否值得实现,或者程序员是否应该使用干净的 JavaScript。
      • @Bunkai.Satori,这基本上是询问 jQuery 与 Javascript 类型的答案。
      • @Tiberiu-IonuțStan,或多行代码用于一个简单的操作。
      • 在我看来,JQuery 的核心问题在于,虽然它增加了开发的便利性,但令人不安的是,有很多人认为 JQuery 是一种独立的语言,是 Javascript 的替代品。因此出现了令人眼花缭乱的问题标题......因此,许多写得不好的代码并不完全理解 DOM / JQuery / Javascript 是如何运作的。
      • @Katana314,我同意。像 jQuery 这样的流行库是对语言的误解。可悲的是,即使在你看到的求职申请中,JavaScript 和 jQuery 专家也是如此。另一个例子是 Ruby on Rails,它非常接近异常,但仍然不是一种不同的语言。至少可以说这是菜鸟的常见错误。一旦他们的代码进入企业级,他们将学习用干净的 javascript 编写代码。
      猜你喜欢
      • 1970-01-01
      • 2013-03-15
      • 2011-03-08
      • 2016-07-02
      • 2011-02-26
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      相关资源
      最近更新 更多