编写可维护的JavaScript----笔记,一

1.缩进层级

建议使用4个空格为一个缩进层级,避免使用制表符进行缩进,可以通过配置文本编辑器来改变 缩进层级表示的内容.

2.语句末尾

有赖于分析器的自动分号插入机制(ASI),JavaScript可以省略分号,但推荐总是使用分号.

3.行的长度

一行的长度最好限定在80个字符

4.换行

如果一行多于80个字符,应当在一个运算符(逗号、加号)后换行,并且下一行增加两个层级

5.空行

建议下面的场景中插入空行:

  • 在方法之间

  • 在方法的局部变量和第一条语句之间

  • 在多行注释或单行注释之前

  • 在方法内的逻辑片段之间插入空行,提高可读性

6.命名

驼峰法命名,例:thisIsMyname

7.变量和函数

变量:以名词为前缀驼峰命名

函数:以动词为前缀驼峰命名,并且有以下常见约定:

动词含义
can函数返回一个布尔值
has函数返回一个布尔值
is函数返回一个布尔值
get函数返回一个非布尔值
set函数用来保存一个值

8.常量

使用大写字母和下划线来命名,例:MAX_COUNT

9.构造函数

大驼峰命名,常常是名词

10.字符串

字符串应该始终使用双引号(避免使用单引号)且保持一行,避免在字符串中使用斜线另起一行,如果另起一行请使用“+”,并且保持缩进.

11.数字

数字应当使用十进制整数,科学计数法表示整数,十六进制整数,或者十进制浮点数,小数点前后至少保留一位数字。避免使用八进制直接量

12.null

特殊值null除了下述情况应当避免使用

  • 用来初始化一个变量,这个变量可能被复制为一个对象

  • 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象

  • 当函数的参数期望是对象时,被用作参数传入

  • 当函数的返回值期望是对象时,被用作返回值传出

13.undefined

避免使用特殊值undefined,判断一个变量是否定义应当使用typeof操作符

14.对象直接量

对象直接量应当使用如下格式

  • 起始花括号应当同表达式保持同一行

  • 每个属性的名值对应当保持一个缩进,第一个属性应当在左花括号后另起一行

  • 每个属性的名值对应当使用不含印好的属性名,其后紧跟一个冒号,而后是值

  • 唐拓属性值是函数类型,函数体应当在属性名之下另起一行,而且其前后均应 保留一个空行

  • 一组相关的属性前后可以插入空行以提升代码的可读性

  • 结束的有花括号应当独占一行

  • 当对象字面量作为函数参数时,如果值是变量,其实花括号应当同函数名在同一行,所有其余先前列出的规则同样适用

15.数组直接量

可以使用两个方括号将数组初始元素括起来,来替代使用Array构造函数的方是来创造数组。