【问题标题】:Is using JQuery a good idea when the thing can be done with plain JavaScript easily当事情可以很容易地用纯 JavaScript 完成时,使用 JQuery 是一个好主意
【发布时间】:2011-09-22 12:47:09
【问题描述】:

我的 ASP.NET WebForms 项目严重依赖 JQuery。在某种程度上,我发现自己在做以下事情;

$('#Message').hide();

然后我想知道为什么我没有使用纯 javascript,如下所示;

document.getElementById('hideShow').style.display = 'none';

这只是一个示例,我的代码的其他部分可以使用纯 JavaScript 轻松完成。 (但我也有一些 JQuery 接管的部分)

所以我的问题是:在性能方面这样做的好方法是什么?

【问题讨论】:

  • 我从不使用 jQuery,除非页面上已经有 jQuery。这是一种平衡行为。当您进行大量验证并突然需要手风琴或模态对话框时,请切换。如果你已经有 jQuery,那么请保持一致。特别是因为 jQuery 会重命名 .value 之类的东西
  • @BoltClock: 不是重复的,因为这里的提问者已经在页面上有 jQuery
  • @tugberk 这是编码风格的问题。就这样。我更喜欢 JavaScript / DOM 方法,并使用 DOM3 polyfill 来支持我的跨浏览器。
  • @tugberk 哦,当然原生 DOM 操作更快。这是一个微优化,我们都知道微优化是魔鬼。

标签: javascript jquery asp.net client-side


【解决方案1】:
  • jQuery 让您从浏览器中的一些兼容性问题中解脱出来。
  • jQuery 非常高效。 (少写,多做)。
  • jQuery 已成为行业标准(使用非常广泛)。

对我来说,我不喜欢纯 Javascript 并且更喜欢使用 jQuery,原因如下。

【讨论】:

  • 就你写的代码而言效率高,而不是执行速度。
  • @Raynos 这就是为什么我 P.S(少写,多做):)
【解决方案2】:

JQuery 提供的主要好处之一是浏览器独立性。它处理核心 javascript 函数的不同浏览器实现之间的怪癖。

【讨论】:

    【解决方案3】:

    关于性能,你不得不认为 jQuery 是对原生 Javascript 代码的封装。因此,当然原生 Javascript 会执行得更快,但 jQuery 解决了很多浏览器兼容性问题。我可以举一个事件附加的例子,你在 FF、Chrome、Safari 等中声明一种方式,而对于 IE,你有完全不同的语法。

    jQuery 的另一个优点是你可以编写更少的代码来做同样的事情,所以从长远来看你的代码会更容易维护。

    【讨论】:

    • 只有懂jQuery才会更容易维护。原始 javascript 和 dom 操作与框架选择无关,并且更易于维护,因为您不必学习流行的框架 X。
    【解决方案4】:

    当然,纯 javascript 提供了更好的性能。 但在上面的示例中,性能差异可以忽略不计。 而且我认为代码的可读性、易于维护和标准化,克服了微小的性能差异。

    所以 jQuery 将是我的选择。

    【讨论】:

    • 标准化是有问题的。 DOM 是标准的。使用 DOM 抽象意味着你绑定到一个库中。
    • @Raynos 是的,但您可能已经在您的网站中使用 jQuery 来处理更复杂的场景。我认为如果您从 jQuery 开始,请在整个代码中坚持使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多