仅仅是一些摘录,并非系统的规范说明
-
表示区块起首的大括号,不要另起一行
return { }
-
调用函数的时候,函数名与左括号之间没有空格。
func()
-
函数名与参数序列之间,没有空格。
function func() {}
-
所有其他语法元素与左括号之间,都有一个空格。
if (xxx) xxx
- 不要省略句末的分号(js会在每行末尾自动添加分号,可能造成问题)
-
不要使用with语句
如下面代码: with (o) { foo = bar; } 可能有以下执行结果(取决于变量是否有定义): o.foo = bar; o.foo = o.bar; foo = bar; foo = o.bar;
- 不要使用”相等”(==)运算符,只使用”严格相等”(===)运算符
- 不要将不同目的的语句,合并成一行
-
所有变量声明都放在函数的头部(避免可能出现的问题)
因为Javascript会自动将变量声明"提升"(hoist)到代码块(block)的头部,如: if (!o) { var o = {}; } 等同于: var o; if (!o) { o = {}; }
- 所有函数都在使用之前定义
- 避免使用全局变量;如果不得不使用,用大写字母表示变量名,比如UPPER_CASE
- 不要使用new命令,改用Object.create()命令(防止漏写new造成问题)
- 建构函数的函数名,采用首字母大写(InitialCap);其他函数名,一律首字母小写
- 不要使用自增(++)和自减(–)运算符,用+=和-=代替
- 不要使用基本数据类型的包装对象,如String, Number, Boolean