javascript的效率有多高?

javascript的效率有多高?,javascript,performance,Javascript,Performance,有时我会听到反对在客户端使用javascript的观点。人们说“JavaScript效率低下……或者速度慢”。我想知道是否有事实支持这个结论 这在很大程度上取决于浏览器的javascript引擎 总之,它是一种脚本语言,所以它不能像C++或其他编译语言那样好。然而,它擅长于它的用途,这就是驱动网页。好吧,这要看情况而定。你拿它跟什么比较?它在不同的浏览器之间有很大的不同 根据编写的代码,它的性能可能非常好,也可能相反 你必须使用JavaScript来做某些事情,比如操纵dom。我想在大多数情况下

有时我会听到反对在客户端使用javascript的观点。人们说“JavaScript效率低下……或者速度慢”。我想知道是否有事实支持这个结论

这在很大程度上取决于浏览器的javascript引擎


总之,它是一种脚本语言,所以它不能像C++或其他编译语言那样好。然而,它擅长于它的用途,这就是驱动网页。

好吧,这要看情况而定。你拿它跟什么比较?它在不同的浏览器之间有很大的不同

根据编写的代码,它的性能可能非常好,也可能相反


你必须使用JavaScript来做某些事情,比如操纵dom。

我想在大多数情况下,它比回发要快得多

我会说这是不正确的答案。您将如何衡量JavaScript性能,并将其用于比较。我想,只要JavaScript是客户端web编程的唯一选项(我不是说VBScript),您就无法真正说明它的效率。

还取决于您如何编写代码。如果您遵循最佳实践,这很好,正如前面所说的,它比回发要好

Javascript性能实际上有两个因素:

  • 你的代码
  • 运行代码的脚本引擎
  • 您的代码是最容易修复的因素。在开发过程中,尽可能优化代码。简单

    第二个并不总是那么容易。我曾经有过一些应用程序,其中一个浏览器的性能非常好,而另一个浏览器的性能比mud慢。其他人则表现出色。你能做的最好的事情就是测试,测试,测试,再测试。如果您想要一篇好文章,请查看以下链接:


    你只能在你试图解决的特定问题的背景下才能真正回答这个问题。发布一个例子,然后我们可以讨论各种技术的优点…

    Javascript不是低效的,效率不取决于语言。口译员可能效率低下。例如,Firefox解释器在FF For Linux中运行非常慢,在FF For windows中运行得更好。Chrome实现了一个速度更快的解释器。有一些Javascript解释器不在浏览器中运行,它们通常更快。

    如果使用得当,Javascript会更快。否则,它的行为就不好。
    一个无限循环可以挂起你的浏览器。(但浏览器会询问您是否停止执行)

    选择在客户端和服务器上执行哪些任务是一个重要的问题,而JavaScript作为一种语言的效率并不是需要考虑的唯一因素

    将在客户机上操作的数据必须传输给客户机。如果脚本不需要向下推送到客户端的所有信息,则页面加载时间将受到影响,过滤操作将在链接效率较低的一端完成(即,您将在用户获取信息之前支付网络传输时间)

    在客户端上运行的业务规则将暴露给好奇的最终用户

    必须在服务器上再次运行在客户端上运行的验证业务规则,因为您不能信任在您无法控制的环境中运行的代码


    在给定的浏览器系列中,不同的浏览器,甚至不同的ECMAScript实现,使得这个问题非常主观,并且会有很多变化。

    我想人们想告诉你的是:在服务器上尽你所能,而不是把所有的代码放在客户端


    Javascript性能因浏览器而异(或因解释器而异),但Javascript不应与服务器端语言具有相同的用途。

    我是一个“数字专家”,所以当有人说“X慢”或“当然,因为Y快”时,我真的很生气。因此,首先,如果要进行任何类型的评估,您需要使用真实数据:


    我还认为看电影有点酷

    现代浏览器正在为他们的解释器实现越来越多的即时编译


    我的经验法则是,如果不能依赖于JavaScript的开启,那么就在服务器上尽可能多地使用JavaScript。如果您完全知道JavaScript已启用,请在客户端尽可能多地使用JavaScript,这样可以节省带宽和服务器负载。

    与其他客户端脚本语言相比,“慢”或“低效”;“低效”和“慢”是非常主观的术语,因为它们提出了一个问题,对谁来说太低效或太慢?和什么相比?这是杰夫·阿特伍德写的很棒的帖子。谢谢。三个因素!浏览器是第三个,通常是最慢的。请记住,DOM不是Javascript的一部分,而是浏览器的一部分。是的,您可以,您可以确定将处理推送到客户端还是服务器。你还可以决定保留什么和削减什么,有些事情在ie6中根本无法以任何速度完成。可能我误解了这个问题。我在想JavaScript的使用到底有没有效率。是的,你们完全正确,关于产生不同计算的逻辑,有各种各样的担忧。根据经验法则,逻辑应该划分如下:“前端不应该有任何业务逻辑”。所以JavaScript的主要目的是使其具有动态外观,并改善用户体验。我仍然怀疑你如何衡量JavaScript在这方面的效率。哈哈,嗯,一切都是这样吗?如果C++程序有无限循环,OS就会问你是否想杀死程序。@戴伦:如果C++应用程序(或任何其他桌面应用程序)有无限(通常称为“无限”,否)循环,操作系统只会要求你杀死它,如果它在某种程度上行为不端。通常这意味着它对信号没有反应。如果没有