原文来自淘宝前端开饭规范:http://kissyteam.github.com/docs/html/styleguide/js-style-rules.html
行与缩进
括号
原则: 不要滥用括号, 必要时一定要使用.
- if/else/while/for 条件表达式必须有小括号;
- 语句块必须有大括号;
- 一元操作符(如 delete, typeof, void )或在某些关键词(如 return, throw, case, new ) 之后, 不要使用括号;
命名规范
原则: * 尽量避免潜在冲突; * 精简短小, 见名知意;
-
普通变量统一使用驼峰形式;
-
常量使用全部大写, 多个单词以下划线分隔;
-
枚举量, 同常量;
-
私有变量, 属性和方法, 名字以下划线开头;
-
保护变量, 属性和方法, 名字同普通变量名;
-
方法和函数的可选参数, 名字以 opt_ 开头, 使用 @param 标记说明;
-
-
方法和函数的参数个数不固定时:
-
- 可添加参数 var_args 为参数个数;
- 取代使用 arguments ;
- 使用 @param 标记说明;
-
-
-
Getter/Setter 命名:
-
- 以 getFoo/setFoo(value) 形式;
- 布尔类型使用 isFoo()/hasFoo()/canDo()/shouldDO() 也可;
-
-
-
命名空间:
-
- 为全局代码使用命名空间, 如 sloth.* ;
- 外部代码和内部代码使用不同的命名空间;
-
-
重命名那些名字很长的变量, 不要在全局范围内创建别名, 而仅在函数块作用域中使用;
-
文件名应全部使用小写字符, 且不包含除 - 和 _ 外的标点符号;
-
临时的重复变量建议以 i, j, k , ..., 命名;
JavaScript 语言规范
- 声明变量时,必须加上 var 关键字。
- 尽量减少全局变量的使用。
- 语句总是以分号结尾。
- 不要在块内声明函数。
- 标准特性优于非标准特性(如果类库有提供,优先使用类库中的函数)。
- 不要封装基本类型。
- 只在解析序列化串时使用 eval() 。
- 禁止使用 with 。
- 减少使用 continue 和 break 。
- 仅在函数内使用 this 。
- 使用 Array/Object 直接量,避免使用 Array/Object 构造器。
- 禁止修改内置对象的原型。