用于大型 Web 应用程序的本机或 jQuery



我知道用原生JavaScript编码意味着你的代码会比你在jQuery中编码时执行得更快,但是快多少?

特别是,我想知道速度的提高是否值得在原生JavaScript中花费比jQuery更长的时间进行编码,如果它是一个非常大的Web应用程序?

还是速度的差异根本没有那么大?

例如,要在jQuery中设置AJAX请求,您所要做的就是调用$.ajax$.post并传递一些参数,但是使用本机JavaScript,您必须根据用户浏览器等创建XMLHttpRequestActiveXObject对象。

速度的差异以毫秒为单位 - 加起来可以进行数千次jQuery调用。

原因是使用jQuery,它通过您提供的信息来测试不同的场景,因此它可以以多种方式运行 - 甚至以您永远不会使用的方式运行。对于你确实使用的函数,jQuery 仍然对可能的变量和场景执行测试,你永远不会为你的特定应用程序提供它。

这就是使它变慢的原因。这实际上取决于你将对jQuery进行多少次调用。

虽然,它也非常跨浏览器兼容,这是一个很大的优势。

出于多种原因,我个人会推荐jQuery。但同样,这取决于你需要使用它的重量,以及你定义的"巨大"差异。

如果您唯一想做的是 AJAX 请求,您可以创建自己的迷你框架来包装创建 XMLHttpRequest 并执行依赖于浏览器的事情。

就像

您可以对所需的任何其他功能执行相同的方式。

然而:事情变得非常复杂。想想动画。jQuery或任何其他框架将做得更好,更快。并跨浏览器测试。

帮自己一个忙,使用现有的框架。

还有一件事:过早优化是万恶之源。首先找到应用程序中的瓶颈,然后优化该部分。

测试一下。

选择Web应用程序的一部分并用JavaScript编写它,然后使用jQuery执行等效操作。测试性能。

开发优于jQuery的JavaScript取决于你或团队的技能。 jQuery是经过战斗强化的代码,可以为您抽象出许多浏览器怪癖。它确实增加了一些开销来满足许多开发用例,但这是许多开发人员愿意支付的代价。

JavaScript 中重新创建相同的功能需要技能和知识,同时消除 Web 应用程序不需要的开销。

我建议你使用jQuery。但是,一旦jQuery成为Web应用程序的一部分,它就会成为您的代码,因此您必须努力了解它在做什么以及为什么。

根据我的经验,我认为最好的方法是使用jQuery而不是本机JS。特别是如果你的应用需要 IE6-IE8 中的支持。大多数时候,您将花在修复跨浏览器问题上,而不是专注于开发。

即使你会根据自己的需求制作自己的"迷你框架",我也不认为这不会像jQuery那样高质量和快速。但是如果你使用jQuery - 遵循最佳实践,你就不会有性能问题,你的代码会更小,易于阅读。

我认为您应该只在高度专业化的Web应用程序中使用本机JS。

在我正在构建的应用程序中,我们正在使用JQuery与我们自己的原型的组合。从用户的角度来看,仅使用直接JS可以忽略不计。另外,CBS(跨浏览器支持)非常重要。

最新更新