zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    HTML/CSS基础教程 一
    linux鼠标闪烁问题解决
    Linux运行级别(runlevel)
    linux命令——umask
    linux命令——ulimit
    算法学习(二)——二分查找
    c++(一) :从c到c++
    shell编程(二)输入,输出和算术拓展
    shell编程(一)基础
    第二次Soring冲刺计划第一天(团队)
  • 原文地址:https://www.cnblogs.com/zzbo/p/3117091.html
Copyright © 2011-2022 走看看