JavaScript编码规范(简单版大佬误入)
按照统一规范进行编写,使其风格保持一致,便于理解和维护。
[建议] 在文件结尾处,保留一个空行。
缩进
1.使用 2 个空格做为一个缩进层级,不允许使用 4 个空格 或 tab 字符。
- switch 下的 case 和 default 必须增加一个缩进层级。
空格
1.二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格。
2.用作代码块起始的左花括号 { 前必须有一个空格。
3.if / else / for / while / function / switch / do / try / catch / finally 关键字后,必须有一个空格。
- 在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格。
- 函数声明、具名函数表达式、函数调用中,函数名和 ( 之间不允许有空格。
6., 和 ; 前不允许有空格。如果不位于行尾,, 和 ; 后必须跟一个空格。
7.在函数调用、函数声明、括号表达式、属性访问、if / for / while / switch / catch 等语句中,() 和 [] 内紧贴括号部分不允许有空格。
8.单行声明的数组与对象,如果包含元素,{} 和 [] 内紧贴括号部分不允许包含空格
9.行尾不得有多余的空格。
换行
1.每个独立语句结束后必须换行。
2.每行不得超过 120 个字符。(注: 超长的不可分割的代码允许例外,比如复杂的正则表达式。长字符串不在例外之列。)
3.运算符处换行时,运算符必须在新行的行首。
4.在函数声明、函数表达式、函数调用、对象创建、数组创建、for 语句等场景中,不允许在 , 或 ; 前换行。
语言特性
1.变量必须 即用即声明,不得在函数或其它形式的代码块起始位置统一声明所有变量
2.变量、函数在使用前必须先定义(通过 var 定义变量将导致变量污染全局环境。原则上不建议使用全局变量,)
- 每个 var 只能声明一个变量。(一个 var 声明多个变量,容易导致较长的行长度,并且在修改时容易造成逗号和分号的混淆。)
条件
- 在 Equality Expression 中使用类型严格的 ===。仅当判断 null 或 undefined 时,允许使用 == null。()
使用 === 可以避免等于判断中隐式的类型转换。
2.对于相同变量或表达式的多值条件,用 switch 代替 if
3.如果函数或全局中的 else 块后没有任何语句,可以删除 else。
数组
1.使用数组字面量 [] 创建新数组,除非想要创建的是指定长度的数组
2.遍历数组不使用 for in 。(数组对象可能存在数字以外的属性)