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;
    }
  • 相关阅读:
    pytest文档29-allure-pytest(最新最全,保证能搞成功!)
    使用 JMeter 进行压力测试
    web自动化针对PO模式进行二次封装之basepage
    关于面试总结-http协议相关面试题 -----转载
    移动APP测试基础分享
    基于python+requests+unittest框架接口自动化测试设计开发
    jmeter断言接口响应字段大小
    csv文件转换为xlsx文件
    钉钉机器人发群消息笔记
    docker学习笔记
  • 原文地址:https://www.cnblogs.com/zzbo/p/3117091.html
Copyright © 2011-2022 走看看