zzbo

唏嘘的感慨一年年。。。

javascript中应该避免不必要的重复

以下列出一些看起来浅易却在实际开发中容易犯到的错误。
错误1、重复地查询元素
这点大家都知道,但会不经意地犯错。通常对一个元素进行两处操作,特别是这两处代码都分开来写时,很容易造成两次查询该元素。

//错误的做法,两次查询,会降低了效率
//第一次操作
$('.dom').show();
//第二次操作
$('.dom').hide();

//建议的做法
//用变量引用该查询
$dom = $('.dom');
//第一次操作
$dom.show();
//第二次操作
$dom.hide();


错误2、重复的条件判断
每次执行函数都会进行了一次if...else...判断,效率明显不好,不是说要避免这样做,但对一些函数体内进行的简易逻辑操作,我们大可以将他简化,以提高效率。

//不好的做法
var flag = true;
var func = function () {
    if (flag) {
        alert(1);
    }
    else {
        alert(2);
    }
}
func();

//建议的做法
var flag = true;
var func = flag ? function () {alert(1);} : function () {alert(2);}
func();


错误3、重复的对象创建
我们应该要避免每次执行同一个方法都实例化某个对象。

//不好的做法
var func = function () {
    var dialog = new Dialog();
    dialog.open();
}
func();
//建议的做法
var dialog = new Dialog();
var func = function () {
    dialog.open();
}

//容易被忽略的正则
//不好的做法
function cleanText(dirty) {
    clean = dirty.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, "");
    return clean;
}
cleanText('<script>alert(1)</script>');
//建议的做法
var scriptRegex = /<script[^>]*>([\s\S]*?)<\/script>/gi;
function cleanText(dirty) {
    clean = dirty.replace(scriptRegex, "");
    return clean;
}

 

posted on 2013-06-04 14:51  zzbo  阅读(1183)  评论(0编辑  收藏  举报

导航