您的位置
主页 > 网站技术 > 语言编程 > » 正文

巧用局部变量提升javascript性能

来源: 站长圈 点击:

点评:巧用局部变量可以有效提升javascript性能,下面有个不错的示例,有需要的朋友可以看下!

javascript中一个标识符所在的位置越深,它的读写速度也越慢。因此,函数中读写局部变量总是最快的,而读写全局变量通常是最慢的。一个好的经验法则是:如果某个跨作用域的值在函数中被引用一次以上,那么就把它存储到局部变量里。 

例如: 

复制代码 代码如下:

<!-- 优化前 --> 

<script type="text/javascript"> 

function initUI () { 

var bd = document.body, 

links = document.getElementByTagName("a"), 

i=0, 

len=links.length; 

while(i < len){ 

update(links[i++]); 

document.getElementById("go-btn").onclick = function(){ 

start(); 

bd.className = "active"; 

</script> 

该函数引用了三次document,而document是个全局对象。搜索该变量的过程必须遍历整个作用域链接,直到最后在全局变量对象中找到。你可以通过以下方法减少对性能的影响:先将全局变量的引用存储在一个局部变量中,然后使用这个局部变量代替全局变量。 

例如: 

复制代码 代码如下:

<!-- 优化后 --> 

<script type="text/javascript"> 

function initUI () { 

var doc=document, 

bd = doc.body, 

links = doc.getElementByTagName("a"), 

i=0, 

len=links.length; 

while(i < len){ 

update(links[i++]); 

doc.getElementById("go-btn").onclick = function(){ 

start(); 

bd.className = "active"; 

</script> 




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明