javascript编码规范注意事项

3.1变量

3.2条件

尽可能使用简洁的表达式。

// 字符串为空

// good
if (!name) {
    // ......
}

// bad
if (name === '') {
    // ......
}
// 字符串非空

// good
if (name) {
    // ......
}

// bad
if (name !== '') {
    // ......
}
// 数组非空

// good
if (collection.length) {
    // ......
}

// bad
if (collection.length > 0) {
    // ......
}
// 布尔不成立

// good
if (!notTrue) {
    // ......
}

// bad
if (notTrue === false) {
    // ......
}
// null 或 undefined

// good
if (noValue == null) {
  // ......
}

// bad
if (noValue === null || typeof noValue === 'undefined') {
  // ......
}

[建议] 按执行频率排列分支的顺序。
解释:

按执行频率排列分支的顺序好处是:

阅读的人容易找到最常见的情况,增加可读性。
提高执行效率。

[建议] 对于相同变量或表达式的多值条件,用 switch 代替 if。

// good
switch (typeof variable) {
    case 'object':
        // ......
        break;
    case 'number':
    case 'boolean':
    case 'string':
        // ......
        break;
}

// bad
var type = typeof variable;
if (type === 'object') {
    // ......
}
else if (type === 'number' || type === 'boolean' || type === 'string') {
    // ......
}

[建议] 如果函数或全局中的 else 块后没有任何语句,可以删除 else。

// good
function getName() {
    if (name) {
        return name;
    }

    return 'unnamed';
}

// bad
function getName() {
    if (name) {
        return name;
    }
    else {
        return 'unnamed';
    }
}

猜你喜欢

转载自blog.csdn.net/xiaoliangsu/article/details/80761132