Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当使用普通JavaScript就可以轻松完成任务时,使用JQuery是一个好主意吗_Javascript_Jquery_Asp.net_Client Side - Fatal编程技术网

当使用普通JavaScript就可以轻松完成任务时,使用JQuery是一个好主意吗

当使用普通JavaScript就可以轻松完成任务时,使用JQuery是一个好主意吗,javascript,jquery,asp.net,client-side,Javascript,Jquery,Asp.net,Client Side,我的ASP.NET WebForms项目在很大程度上依赖于JQuery。在某种程度上,我发现自己在做以下事情 $('#Message').hide(); document.getElementById('hideShow').style.display = 'none'; 然后我想知道为什么我没有像下面那样使用纯javascript $('#Message').hide(); document.getElementById('hideShow').style.display = 'none

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

$('#Message').hide();
document.getElementById('hideShow').style.display = 'none';
然后我想知道为什么我没有像下面那样使用纯javascript

$('#Message').hide();
document.getElementById('hideShow').style.display = 'none';
这只是一个示例,我的代码中还有其他部分可以用普通JavaScript轻松完成。(但我还有JQuery接管的一些部分)


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

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

  • jQuery使您免于浏览器中的一些兼容性问题
  • jQuery非常高效。(少写,多做)
  • jQuery已经成为一种行业标准(使用非常广泛)

对我来说,我不喜欢普通的Javascript,出于上述原因,我更喜欢使用jQuery。

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


jQuery的另一个优点是,您可以编写更少的代码来完成相同的任务,因此从长远来看,您的代码将更易于维护。

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


因此,jQuery将是我的选择。

可能的重复和大量其他我从不使用jQuery,除非页面上已经有jQuery。这是一种平衡行为。当你有很多验证,突然需要一个手风琴或模态对话框,然后切换。如果您已经有jQuery,那么请保持一致。特别是因为jQuery将重命名如下内容。value@BoltClock:不重复,因为这里询问者已经在page@tugberk这是一个编码风格的问题。这就是全部。我更喜欢JavaScript/DOM方法,并使用DOM3 polyfill来支持跨浏览器。@tugberk oh当然原生DOM操作更快。不过这是一个微观优化,我们都知道微观优化是魔鬼。它在你编写的代码方面是有效的,而不是在执行速度方面。@Raynos这就是为什么IP.s(写得少,做得多):)的标准化值得怀疑的原因。DOM是标准的。使用DOM抽象意味着绑定到库中。@Raynos是的,但可能您已经在网站中使用jQuery来处理更复杂的场景。我认为如果您从jQuery开始,那么在整个代码中都要坚持使用它。如果您了解jQuery,那么维护起来会更容易。原始javascript和dom操作与框架选择无关,而且更易于维护,因为您不必学习流行的FrameworkX。