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
continue
和break
语句后出现不可达代码
错误代码示例:
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;
}
持续更新....
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。