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;
    }
  • 相关阅读:
    基于朴素贝叶斯的内容推荐算法
    Android Message和obtainMessage的差别
    hevc 的相关文章的链接
    创建不被杀死的service
    TQ2440 学习笔记—— 2、Win7PC 与虚拟机Ubuntu互通 ping 的网络设置
    国防科大校赛I题: Prime Summation
    VC 中怎样改变窗体背景色
    小心使用IHttpHandler下的IsReusable属性
    hdu1702(ACboy needs your help again!) 在杭电又遇坑了
    deque C++实现
  • 原文地址:https://www.cnblogs.com/zzbo/p/3117091.html
Copyright © 2011-2022 走看看