zoukankan      html  css  js  c++  java
  • 几个常见的编码规范实例

    1.比较参数

    // 不推荐的写法:==和!=比较时会进行类型转换,应尽量避免使用
    var num = 123;
    
    if (num == '123') {
        console.log(num);
    } else if (num != '321') {
        console.log('321');
    }
    
    // 推荐的写法:使用===和!==来进行比较
    var num = 123;
    
    if (num === '123') {
        console.log(num);
    } else if (num !== '321') {
        console.log('321');
    }
    

    2.包裹if语句

    // 不推荐的写法:if语句不用大话号包裹会出现潜在bug
    var num = 123;
    
    if (num === '123')
        console.log(num);
    
    // 推荐的写法:if语句用大话号包裹
    var num = 123;
    
    if (num === '123') {
        console.log(num);
    }
    

    3.慎用eval

    // 不推荐的写法:应避免使用eval,不安全,非常耗性能(一次解析成js语句,一次执行)
    var json = '{"name": "劳卜", "func": alert("hello")}';
    
    eval('(' + json + ')'); // 弹出“hello”
    
    // 推荐的写法
    var json = '{"name": "劳卜", "func": alert("hello")}';
    
    JSON.parse(json); // 校验报错
    

    4.判断类型

    // 不推荐的写法:用typeof来判断构造函数创建的对象
    var str = new String('劳卜'); 
    
    console.log(typeof str); // 'object'
    
    // 推荐的写法:用instanceof来判断构造函数创建的对象
    var str = new String('劳卜'); 
    
    console.log(str instanceof String); // true
    

    5.检测属性

    // 不推荐的写法:使用undefined和null来检测一个属性是否存在
    if (obj['name'] !== undefined) {
        console.log('name属性存在'); // 若obj.name为undefined时则会导致判断出错
    }
    
    if (obj['name'] !== null) {
        console.log('name属性存在'); // 若obj.name为null时则会导致判断出错
    }
    
    // 推荐的写法:使用in运算符来检测对象属性是否存在,使用hasOwnProperty方法来检测不包含原型链上的对象属性是否存在
    if ('name' in obj) {
        console.log('name属性存在');
    }
    
    if (obj.hasOwnProperty('name')) {
        console.log('name属性存在');
    }
  • 相关阅读:
    win7 64位系统,vs2010下配置OpenGL开发环境
    OpenCV stereo matching 代码 matlab实现视差显示
    Cocos2d-x 3.x游戏开发之旅
    芯片验证漫游指南
    名师讲坛:PHP开发实战权威指南
    Python带我起飞:入门、进阶、商业实战
    新编Excel会计与财务管理应用大全(2016实战精华版)
    CorelDRAW X7中文版完全自学宝典
    HTML5 canvas开发详解(第2版)
    中文版3ds Max 2014--VRay效果图制作实用教程
  • 原文地址:https://www.cnblogs.com/brainworld/p/6491650.html
Copyright © 2011-2022 走看看