当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript中全局变量、函数内变量以及常量表达式的效率测试

Javascript
jquery控制listbox中项的移动并排序
Jquery操作Select 简单方便 一个js插件搞定
JQuery SELECT单选模拟jQuery.select.js
用document.documentElement取代document.body的原因分析
Marquee配合DIV实现的文字滚动效果代码
JS溶解形式的文字切换特效
文字在网页上下浮动 学习可以不建议用
[原创]一段时间以后切换显示的广告代码
传智播客学习之JavaScript基础篇
javascript 带有滚动条的表格,标题固定,带排序功能.
jquery 可排列的表实现代码
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
jQuery checkbox全选/取消全选实现代码
javascript 去字符串空格终极版(支持utf8)
flash 得到自身url参数的代码
Dojo 学习笔记入门篇 First Dojo Example
JavaScript 语法集锦 脚本之家基础推荐
Javascript 中文字符串处理额外注意事项
JavaScript的eval JSON object问题
JavaScript OOP类与继承

Javascript 中的 JavaScript中全局变量、函数内变量以及常量表达式的效率测试


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 149 ::
收藏到网摘: n/a

直接用字符串常量要比利用全局变量快,但创建正则表达式就比起用全局变量要慢上很多了。


[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

注意:在IE中进行这个测试时需要先改变IE的"最大脚本步数":
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles]
"MaxScriptStatements"=dword:ffffffff
这么看的话使用函数内的本地变量时效率要比用全局变量或者常量表达式高出许多。而属性的效率就糟得很恐怖了,在Firefox和Safari中居然比利用全局变量还慢上好多倍。
直接用字符串常量要比利用全局变量快,但创建正则表达式就比起用全局变量要慢上很多了。
观察数字还可以发现:在Google Chrome、Opera和IE中,用属性和利用全局变量相差不大(Opera的表现也许是其垃圾回收机制造成的),从这个现象上看的话,这三种浏览器中所谓的全局变量有可能根本就是全局对象的属性。