• 【转】巧用局部变量提升javascript性能


    转自:http://www.jb51.net/article/47219.htm

    巧用局部变量可以有效提升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> 
     
  • 相关阅读:
    chrome sarfri form.submit bug
    ruby首字母大写
    ubuntu 10.04 中文设置
    添加centos用户
    农行的短信提醒很滞后
    从github删除敏感数据
    从github删除敏感数据
    国内有不有做虚拟化或是叫云平台的朋友
    设置rails header编码
    centos5.5
  • 原文地址:https://www.cnblogs.com/liu-l/p/3821299.html
Copyright © 2020-2023  润新知