转载自WADE
- JavaScript文件JavaScript程序应该作为一个.js文件存储和发布。JavaScript代码不应该嵌入在HTML文件里,除非那些代码是一个单独的会话特有的。HTML里的JavaScript代码大大增加了页面的大小,并且很难通过缓存和压缩来缓解。
- 不要让一行代码超过80个字符。当一条语句不能在单独一行写完时,可能有必要拆分它。在操作符后进行拆分,最好是在逗号后面拆分。操作符后面进行拆分减少了通过插入分号伪装拷贝-粘帖错误的可能性。
- 不允许是用关键字,如event,goto,char等作为JavaScript变量。
- 所有的变量应该在使用前声明。JavaScript不强求这点,但是这样做会让程序更易读,并且会让探测未声明的可能变成隐式的globals的变量更容易。var语句应该为方法体内的第一个语句。每个变量声明应该自己占一行并有注释。它们应该按字母顺序排列。在方法顶端定义所有变量。尽量少使用全局变量。隐式的全局变量应该从来不使用。
- 命名应该由26个大小写字母(A .. Z, a .. z),10个数字(0 .. 9)和_(下划线)组成。不要使用国际字符,因为它们可能不易读或者不能在任何地方都能容易理解。不要在名字里使用$(美元符号)或\(反斜线符号)。不要使用_(下划线)作为名字的首字母。它有时被用来表示私有,但是它实际上不提供私有性。大多数变量和方法名应该以小写字母开始。必须使用new前缀的构造函数应该以大写字母开始。JavaScript不会在省略new时报编译期警告或运行时警告。不使用new时会发生坏事情,所以大写首字母规范是我们拥有的唯一的防御。 Webjx.Com全局变量应该全部使用大写字母。(JavaScript没有宏或常量,所以没有多少要求使用大写字母来表示JavaScript的特性的场景) 网页教学网
- 每行应该包含至少一个语句。在每个简单语句末尾添加一个“;”(分号)。注意一个给方法字面量或对象字面量赋值的赋值语句仍然是一个赋值语句,所以也必须以分号结尾。JavaScript允许任何表达式作为语句使用。这可能产生一些错误,特别是在插入分号时。唯一可以当作语句使用的表达式是赋值表达式和调用表达式。
- 所有的方法应该在它们使用前声明。内部方法应该位于var语句后面。这让哪些变量包含在它的scope里更清楚。方法名和参数列表的“(”(左圆括号)之间不应该有空格。在“)”(右圆括号)和“{”(左大括号)之间有一个空格。方法体本身缩进4个空格。“}”(右大括号)应该和方法声明处对齐。
- 获取扩展属性必须使用getAttribute方式,如:
<input type="text" xx="a"/>
,如果要活xx这个扩展属性,不能使用obj.xx获取,而要采用obj.getAttribute("xx")
,赋值采用setAttribute("xx", "a")
,这样保证程序的兼容性。 - 不要使用parentElement,统一采用parentNode,保证兼容性。
- 不要使用
document.getElementById('xx').value
这样的方式来访问Dom元素对象的属性或值,先将元素对象获取到变量中,例如:var txtName=document.getElementById('textName')
判断Dom对象是否存在再取它的属性或值,以提高程序的健壮性。 - 类型编写必须使用prototype模式,避免在内存中创建相同方法的多个实例。
- 使用大括弧来定义静态对象,而不是使用
new Object()
的方式。 - 尽量不要使用全局变量,如果需要使用多个方法访问的变量,请将变量和方法放在一个静态Object对象中。
- 在进行参数传递时注意值传递和引用传递的区别,对于对象类型的变量,例如数组,名称-值 对象,注意在多处修改引起的数据改变。
- 注意不要在“+”后面跟“+”或“++”。这种模式令人混淆。在它们之间插入圆括号来让你的意图更清晰。