web前端,js性能提升细节,规范

来源:互联网 发布:java项目中碰到的难点 编辑:程序博客网 时间:2024/06/02 19:45

 

 

作用域链 (with 语句会 加深作用域链,在作用域链顶部加多了一个对象,尽量不要使用 ,try catch的catch也是一样)
使用局部变量

 

条件判断:

    if    [将if条件拆分成几个分支,并且 else 是不用判断的,记住把 else if 改为 else]

    switch(2,10)   [一般语言的编译器能优化switch语句,由于大多数jajascript引擎没有这样的优化,所以switch性能参差不刘,firefox可以很好地处理switch,但其它的浏览器不怎么样,但总比多个if快]   javascript的switch可以 接受 字符串,java不可以,如下:

javascript:

var a = "小小";
switch(a)
{
    case "0":
        alert(0);
        break
    case "00":
        alert(2);
        break
    case "000":
        alert(3);
        break
    case "小小":
        alert("小");
        break
    default:
        alert(11111);
}

 

java:

int arg = Integer.parseInt("123");
        switch(arg){
        case 1:
            System.out.println("a");
            break;
        case 2:
            System.out.println("aa");
            break;
        case 123:
            System.out.println("aaa");
            break;
        default:
            System.out.println("default");
        }

c# 的可以 判官 字符串

 

    数组(10,.)  

 

 

 

for循环
    var length = values.length
    for(var i=length; i--){}    while(length--){}    (比原来节约多达50%的执行时间)
    少使用数组原生的indexOf方法,不如用for

展开循环    Deff策略
    values[1] values[2] values[3] values[4]

 

 

 

 

 

 

 

 

 

原创粉丝点击