2

JavaScript 编码规范

一、命名规范

1. 变量

  • 命名方法:小驼峰式命名法(由小写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化的名词
  • 特殊:
    布尔值变量建议添加符合其含义的前缀动词

    • is:是否
    • can:能不能
    • has:有没有
  • 示例:

    // 页面标题
    let pageTitle = "JS命名规范";
    
    // 是否显示
    let isShow = false;

2. 常量

  • 命名方法:全部大写,用下划线来分割单词

3. 函数

  • 命名方法:小驼峰式命名法(由小写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化,前缀为动词
  • 示例:

    // 获取列表数据
    function getList() {
        // ...
    }

3. 类(构造函数)

  • 命名方法:大驼峰式命名法(由大写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化的名词

    class Login {
        // ...
    }
  • 实例属性和方法(遵循变量和函数的命名规范)

    class Login {
        // 实例属性
        name = "iqeq";
        
        // 实例方法
        login = function () {
            // ...
        }
        
        // 实例方法简写
        reset() {
            // ...
        }
    }
  • 静态属性和方法(遵循变量和函数的命名规范)

    class Login {
        // 静态属性
        static description = "登陆业务逻辑";
        
        // 静态方法
        static log = function () {
            // ...
        }
    }

二、编码规则

1. 禁止在function中定义同名的变量

如果在一个函数中出现多个同名的参数,后面出现的会覆盖前面出现的参数。

错误代码示例:

function foo(a, b, a) {
    console.log("value of the second a:", a);
}

正确代码示例:

function foo(a, b, c) {
    console.log(a, b, c);
}

2. 禁止对在代码块中声明function

错误代码示例:

if (test) {
    function doSomethingElse () {
        // ...
    }
    doSomethingElse();
}

正确代码示例:

function doSomethingElse () {
    // ...
}
if (test) {
    doSomethingElse();
}

3. 禁止在 return throw continuebreak语句后出现不可达代码

错误代码示例:

function foo() {
    return true;
    console.log("done");
}

function bar() {
    throw new Error("Oops!");
    console.log("done");
}

while(value) {
    break;
    console.log("done");
}

throw new Error("Oops!");
console.log("done");

function baz() {
    if (Math.random() < 0.5) {
        return;
    } else {
        throw new Error();
    }
    console.log("done");
}

4. 禁止对原生对象赋值

错误代码示例:

window = {};
Object = null;
undefined = 1;

5. 禁止重新声明变量

JavaScript中,可以对同一个变量再次声明。这会使变量实际声明和定义的位置混乱不堪。

错误代码示例:

var a = 3;
var a = 10;

正确代码示例:

var a = 3;
// ...
a = 10;

6. 禁止声明未被使用过的变量

已声明的变量在代码里未被使用过,就像是由于不完整的重构而导致的遗漏错误。这样的变量增加了代码量,并且混淆读者。

错误代码示例:

function test(a) {
    // b变量虽然声明了,但没被使用
    var b = 1;
    
    return a + 1;
}

持续更新....


shayeLee
398 声望12 粉丝