zoukankan      html  css  js  c++  java
  • 【转】巧用局部变量提升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> 
     
  • 相关阅读:
    js:语言精髓笔记1--标识符与基本类型
    ember.js:使用笔记4 数组数据的分组显示
    ember.js:使用笔记3 活用{{bind-attr}}
    ember.js:使用笔记2-数据删除与存储
    ember.js:使用笔记1-数组数据统一显示
    工具:使用jekyll生成静态网站
    css:删除:×的效果
    js写随机一个颜色
    回调函数的使用
    jquery获取select标签的选中元素
  • 原文地址:https://www.cnblogs.com/liu-l/p/3821299.html
Copyright © 2011-2022 走看看