JavaScript:通过优化名称查找获得了什么性能增益?

JavaScript:通过优化名称查找获得了什么性能增益?,javascript,jquery,optimization,scope,Javascript,Jquery,Optimization,Scope,我工作的公司给我们(或者更确切地说是我)买了O'Reilly的jQuery食谱,我正在从头到尾地阅读。现在我在5.13,这是关于名字查找的。它声称,在适当的情况下,针对名称查找进行优化的代码可以有高达70%的性能提升。在一个非常情境化的例子中,它声称速度更快35倍,执行时间从7秒缩短到0.2秒 我的问题是:名称查找优化是通过什么因素在实际情况下提高性能的?在4k JS lines AJAX应用程序上多花几个小时值得吗?它有帮助的因素取决于它的实际使用方式。这就像问一根绳子有多长 我见过为true

我工作的公司给我们(或者更确切地说是我)买了O'Reilly的jQuery食谱,我正在从头到尾地阅读。现在我在5.13,这是关于名字查找的。它声称,在适当的情况下,针对名称查找进行优化的代码可以有高达70%的性能提升。在一个非常情境化的例子中,它声称速度更快35倍,执行时间从7秒缩短到0.2秒


我的问题是:名称查找优化是通过什么因素在实际情况下提高性能的?在4k JS lines AJAX应用程序上多花几个小时值得吗?

它有帮助的因素取决于它的实际使用方式。这就像问一根绳子有多长

我见过为true、false和undefined设置名称可以使应用程序在javascript中的速度至少提高10倍。它变得更快的原因是它不需要查看全局范围链内部。Nick Zakas在下面的谷歌代码视频中很好地解释了这一点

编辑:


我只是偶然发现了这个,认为它可能有用。这也是对范围链的快速解释

它的帮助因素取决于它的实际使用方式。这就像问一根绳子有多长

我见过为true、false和undefined设置名称可以使应用程序在javascript中的速度至少提高10倍。它变得更快的原因是它不需要查看全局范围链内部。Nick Zakas在下面的谷歌代码视频中很好地解释了这一点

编辑:


我只是偶然发现了这个,认为它可能有用。这也是对范围链的快速解释

尼古拉斯·扎卡斯对此做了一些研究,并就此进行了讨论。似乎您可以获得有趣的性能增强。我不确定确切的数字,但可以肯定的是,优化名称查找将提高代码的速度

当然,如果你把10年的遗留代码拖到了身后,而这些代码工作得很好,那么不要担心优化。。。但是如果你的应用程序很慢,我会考虑优化代码。 如果你决定进行重构,试着找出你可以优化的地方。我建议使用


您甚至可以尝试优化代码的一小部分,查看您获得的性能提升,然后确定是否值得优化应用程序的其余部分。

Nicholas Zakas对此进行了一些研究,并就此进行了讨论。似乎您可以获得有趣的性能增强。我不确定确切的数字,但可以肯定的是,优化名称查找将提高代码的速度

当然,如果你把10年的遗留代码拖到了身后,而这些代码工作得很好,那么不要担心优化。。。但是如果你的应用程序很慢,我会考虑优化代码。 如果你决定进行重构,试着找出你可以优化的地方。我建议使用


您甚至可以尝试优化代码的一小部分,查看您获得的性能提升,然后确定是否值得优化应用程序的其余部分。

我正在优化几个月前刚开始使用JavaScript和jQuery时编写的代码。我在这方面没有任何经验,所以我从书中描述的技术中学到了很多东西。那么,对于您来说,返回并重构代码可能是一个很好的练习。你会看到你进步了多少。。。当然,你会讨厌你的旧代码^^我正在优化几个月前刚开始使用JavaScript和jQuery时编写的代码。我在这方面没有任何经验,所以我从书中描述的技术中学到了很多东西。那么,对于您来说,返回并重构代码可能是一个很好的练习。你会看到你进步了多少。。。当然,你会讨厌你的旧代码^^用另一篇JS优化帖子编辑我的答案谈论范围链接用另一篇JS优化帖子编辑我的答案谈论范围链接