javascript性能

用局部变量存储本地范围之外的变量值,如果它们在函数中的使用多于一次。考虑下面的例子:

function initUI(){
        var bd = document.body,
                links = document.getElementsByTagName_r("a"),
                i = 0,
                len = links.length;
        while(i < len){
            update(links[i++]);
        }
        document.getElementById("go-btn").onclick = function(){
            start();
        };
        bd.className = "active";
    }

此函数包含三个对document 的引用,document 是一个全局对象。搜索此变量,必须遍历整个作用域链,
直到最后在全局变量对象中找到它。你可以通过这种方法减轻重复的全局变量访问对性能的影响:首先将
全局变量的引用存储在一个局部变量中,然后使用这个局部变量代替全局变量。例如,上面的代码可以重
写如下:

function initUI(){
        var doc = document,
                bd = doc.body,
                links = doc.getElementsByTagName_r("a"),
                i = 0,
                len = links.length;
        while(i < len){
            update(links[i++]);
        }
        doc.getElementById("go-btn").onclick = function(){
            start();
        };
        bd.className = "active";
    }
原文地址:https://www.cnblogs.com/darr/p/5049378.html