JavaScript全局变量、局部变量与常量表达式性能对比

作者:听澜

时间:2026-10-24

浏览:600

本文通过实际测试对比JavaScript中全局变量、函数内局部变量及常量表达式的执行效率。结果显示,局部变量访问速度显著优于全局变量;属性访问在Firefox和Safari中效率极低,而在Chrome、Opera和IE中与全局变量差异不大,暗示后三者可能将全局变量实现为全局对象属性。

文章目录

JavaScript全局变量、局部变量与常量表达式性能对比

 <html> <body>  </body> </html> 

JavaScript全局变量、局部变量与常量表达式性能对比

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]


注意:在IE中进行这个测试时需要先改变IE的"最大脚本步数":


[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles]


"MaxScriptStatements"=dword:ffffffff


从测试结果来看,使用函数内部的本地变量时,其执行效率远高于使用全局变量或常量表达式。相比之下,属性访问的效率表现非常糟糕,在Firefox和Safari浏览器中,其速度甚至比使用全局变量还要慢数倍。


直接使用字符串常量比访问全局变量要快,但创建正则表达式的操作却比使用全局变量慢很多。


观察数字类型的测试结果可以发现:在Google Chrome、Opera和IE浏览器中,使用属性访问与使用全局变量的性能差异不大(Opera的表现可能与其垃圾回收机制有关)。从这一现象推测,在这三种浏览器中,所谓的全局变量实际上可能就是全局对象的一个属性。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章