浙江爱信诺前端规范

JS规范 - 代码排版

行结束

JavaScrip语句应该以分号结束。

							var val = 10;
							function test(){
								val += 1;
								if(val > 10){
									alert(val);
								}
							}
							test();
							
行缩进

关于缩进的问题,不只是JavaScript,几乎所有的语言编写的时候,都会提及缩进的问题。缩进几乎是代码编写规范的第一课,是代码可阅读性判断的直接因素。

本规范以1个tab键缩进或者直接4个空格,因为有些编辑器会把1个tab键人为是4个空格,因此编写好代码之后应该用相应的根据转换一下。

注释

代码中的注释很重要,自然也是毋庸置疑的。通常我们会强调代码中注释数量的多少,而轻视了对注释质量的提高。编码是及时添加注释,会给后续代码的维护人员带来很大的便利。但是如果注释不注意更新,或者由于拷贝、粘贴引起的错误的注释,则会误导阅读人员,反而给阅读带来障碍。

文档开头注释

                            /**
                             * @filename jquery.layer.js
                             * @author Aniu[2015/10/25 22:09]
                             * @update liumengmei[2015/10/25 23:10]
                             * @version v1.2
                             * @description 弹出层组件
                             */
							

单行注释和多行注释

							//单行注释
							//var val = 10;
							
							//多行注释
							/*function test(){
								alert('test');
							}*/
							

函数注释

                            /**
                             * @func 是否匹配手机号码
                             * @return <Boolean> true匹配/false不匹配
                             * @param mibile <String> 传递手机号码
                             * @desc 验证值是否匹配手机号码格式
                             */
							function matchMobile(mibile){
								return /^0?(13|14|15|17|18)[0-9]{9}$/.test(mibile);
							}
							

对象参数注释

							var ajax = {
                                /**
                                 * @func 请求接口url
                                 * @type <String, Function> 当为函数时,返回url字符串
                                 * @desc 想说就说点什么吧o(∩_∩)o 
                                 */
                                url:'',
                                /**
                                 * @func 响应成功回调函数
                                 * @type <Function>
                                 * @return <undefined> 不返回值
                                 * @param data <Object, String>
                                 * @desc 想说就说点什么吧o(∩_∩)o 
                                 */
                                success:function(data){
                                    //do something
                                }
                            }