Javascript语法规范
1.js文件
不推荐直接写在页面中,除非代码为单独会话,文件载入放在</body>之前。(由于我们使用seajs模块化开发,只需要载入seajs即可)。
2.缩进
四个空格为一般缩进标准,一般的ide都支持tab缩进
3.行宽
每行代码应小于 80 个字符。
如果代码较长,应尽量选择换行,下一行代码应缩进 8 个空格。这样可以使代码排版整齐,减轻阅读代码的疲劳感。换行缩进 8 个空格可以和代码段的缩进 4 个空格区分开,以增强代码的可阅读性。
4.注释
对于团队协作是非常重要的,记得在大量for循环或者逻辑表达过于复杂的函数中添加注释,注释要简明扼要,这点看大家的语言组织,实在不行多点字也行,一定要他人理解,!!!重要的一点,更新一定要及时!!!
5.变量
1.以字母、下划线'_'或美元符号'$'开头,允许名称中包含字母,数字,下划线'_'和美元符号'$',区分大小写
2. var 声明变量,尽量避免省略,否则有可能出现全局变量重复的情况,在明确知道变量类型的情况下声明初始值。
3. 空对象声明使用{},空数组使用[],代码看起来更易懂。
4. 变量命名: 以下划线链接每个单词,类型_变量名,一般用于知道变量类型的情况
s:表示字符串。
n:表示数字。
b:表示逻辑。
a:表示数组。
r:表示正则表达式。
f:表示函数。
o:表示以上未涉及到的其他对象变量在作用域的顶部申明
6.常量
常量:全部大写,以下划线分隔。
7.方法(函数)声明
1. 函数应该返回统一的类型,即如果返回的数组中的数据均为字符串,那么如果为空的话返回””。
2. return使用时注意不要折行,否则语句结束返回的是this。
3.函数命名: 首字母小写驼峰式命名,完整的英文释义,务必做到见文知意,如getUserName(),明显是获取用户名。
4. 函数尽量不要出现多个出口点。
5.类/对象
1. 类命名: 首字母大写, 驼峰式命名。
2. 类中私有方法,以下划线+方法名标注,私有方法不能在类外被调用。
3. 获取对象属性时,使用引号的方式更好,可以是变量函数和硬编码,点的话只能是固定值。
4. 对象命名缩写:text输入框txt、button按钮btn、select下拉选择框sel、option选项opt、form表单frm、frame框架fra、hidden表单项hdn、对话框对象dlg、窗口对象win,这里需要注意使用一些大家通用的缩写规范,不要自己定义一个缩写。
6.书写规范
1. 缩进一致,这样容易找到相关对应。2. 文件编码统一为utf-8。
3. JSON格式添加双引号规范,如{“width”:100}比这样{width:100}要好。
4. 保证代码压缩后不出错,以分号结束,大括号严格结束(闭合)。
5. 逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。
6. 分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。
7. ==会先进行类型转换之后再比较,而===不会,所以==比较会有偏差,推荐===比较。
8. 优化循环(循环体中若有Dom操作,应该把Dom操作提到循环体外;在同一作用域内,Dom选择赋值给一局部变量。)
9. 用typeof方法来检测你的function接受的输入是否合法。
10. 避免混入其他技术,js不直接控制css详细的设置,可控制classname。(这点有待商榷)。
11. 尽量不要使用eval,除非你很强大。
12. 尽量避免使用with,容易出现变量名称混淆。
13. 获取对象属性时,使用引号的方式更好,可以是变量函数和硬编码,点的话只能是固定值。
14. 可以用来过滤掉对象中的方法。
15. 代码中尽量不要出现数字,最好用变量赋值,否则很难明白你这个数字是什么作用。
16. 参数不要过多,超过5个推荐使用object类型传入,更利于理解。
17. 推荐的一种字符串合并方式为var arr=[];arr[0]=”hello”;arr[1]=”world”;var str=arr.join(“”);