zoukankan      html  css  js  c++  java
  • js总结(四):关于高性能

    参考《高性能网站建设进阶指南》

    不仅仅关注页面加载时间,也要关注下页面操作时的相应速度。页面操作是我们写程序中 实实在在需要的

    1、使用局部变量

    任何非局部变量,在函数中使用次数超过一次时,就应该将其变成局部变量。

      

    var setName = function (){
        if(!$("#name").val()){
            $("#name").val("ddd");
        }
    }
    //下面应该变成一个局部变量
    var setName = function (){
    var $name=  $("#name");
        if(!$name.val()){
           $name.val("ddd");
        }
    }

    全局变量对象始终是作用域中的,最后一个;所以对全局变量的解析是最耗时的。

     2、数据存储的位置

         4种地方可以存储:字面量值、变量、数组元素、对象属性

    字面量值和局部变量中读取值的开销差异很小,可以忽略不计。主要差别是数组和对象中读取值。

       在循环,将函数中使用超过一次的对象属性或者数组元素,存储为一个局部变量

    var a = ["a","b","c"]
    for(var i =0 ;i<a.length){
       console.log( a[i])
    
    }
    //减少读取数据的长度
    var a = ["a","b","c"]
    var b =a.length;
    for(var i =0 ;i<b){
       console.log( a[i])
    
    }

       3、流控制

    流程的控制是提升性能的重要一环。条件判断,尽可能尽快结束。当仅判断一两个条件时,if语句通常比switch更快。当有2个以上条件判断且条件比较简单时(不是进行范围判断),switch语句更快。

    4、减少dom操作

    如果必须dom操作,在没显示之前,可以先隐藏再dom操作

  • 相关阅读:
    51nod 1134 最长递增子序列
    51nod 1135 原根
    51nod 1136 欧拉函数
    51nod 1137 矩阵乘法
    51nod 1174 区间中最大的数
    51nod 1079 中国剩余定理
    51nod 1181 质数中的质数(质数筛法)
    伪共享(False Sharing)和缓存行(Cache Line)
    mybatis 批量 操作数据
    java开发中beancopy比较
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4127007.html
Copyright © 2011-2022 走看看