通用约定
注释
原则
Asshortaspossible(如无必要,勿增注释):尽量提高代码本身的清晰性、可读性。Aslongasnecessary(如有必要,尽量详尽):合理的注释、空行排版等,可以让代码更易阅读、更具美感。
单行注释
必须独占一行。//后跟一个空格,缩进与下一行被注释说明的代码一致。
多行注释
避免使用/…/这样的多行注释。有多行注释内容时,使用多个单行注释。
函数/方法注释
函数/方法注释必须包含函数说明,有参数和返回值时必须使用注释标识。;
参数和返回值注释必须包含类型信息和说明;
当函数是内部函数,外部不可访问时,可以使用
inner标识;文件注释
文件注释用于告诉不熟悉这段代码的读者这个文件中包含哪些东西。应该提供文件的大体内容,它的作者,依赖关系和兼容性信息。如下:
命名
变量,使用Camel命名法。
私有属性、变量和方法以下划线_开头。
常量,使用全部字母大写,单词间下划线分隔的命名方式。
函数,使用Camel命名法。
函数的参数,使用Camel命名法。
类,使用Pascal命名法
类的方法/属性,使用Camel命名法
枚举变量使用Pascal命名法。
枚举的属性,使用全部字母大写,单词间下划线分隔的命名方式。
由多个单词组成的缩写词,在命名中,根据当前命名法和出现的位置,所有字母的大小写与首字母的大小写保持一致。
命名语法
类名,使用名词。
函数名,使用动宾短语。
boolean类型的变量使用is或has开头。
Promise对象用动宾短语的进行时表达。
接口命名规范
可读性强,见名晓义;
尽量不与jQuery社区已有的习惯冲突;
尽量写全。不用缩写,除非是下面列表中约定的;(变量以表达清楚为目标,uglify会完成压缩体积工作)
True和False布尔表达式
类型检测优先使用typeof。对象类型检测使用instanceof。null或undefined的检测使用==null。
下面的布尔表达式都返回false:
nullundefined‘’空字符串0数字0
但小心下面的,可都返回true:
‘0’字符串0[]空数组{}空对象
不要在Array上使用for-in循环
for-in循环只用于object/map/hash的遍历,对Array用for-in循环有时会出错.因为它并不是从0到length-1进行遍历,而是所有出现在对象及其原型链的键值。
二元和三元操作符
操作符始终写在前一行,以免分号的隐式插入产生预想不到的问题。
条件(三元)操作符(?:)
三元操作符用于替代if条件判断语句。
和
二元布尔操作符是可短路的,只有在必要时才会计算到最后一项。