总结的javascript编码规范(一)

今天看了《编写高质量的javascript》的第一部分,总结了一些javascript的编码规范。

一、格式化

1.使用4个空格来缩进层级。

 注:由于有些操作系统或编译环境对于tab(制表符)的处理不尽相同,而空格无差异,所以使用空格来进行缩进。

2.每条语句的结尾都应加分号。

 注:红宝书中也说过,为了防止压缩错误,最好不要省略。

3.每行的长度不应该超过80个字符。

4.若长度超过限制,可以在运算符后换行。

5.空行:方法和方法之间需要空行,方法和局部变量之间需要空行,注释之前需要空行,逻辑片段之间需要空行。eg:           

if (wl && wl.length) {
        //方法和方法之间的空行
    for (var i = 0; i < wl.length; i ++) {
        p = wl[i];
        type = Y.Lang.type(r[p]);
           //方法和局部变量之间的空行
        if (s.hasOwnProperty(p)) {

            if (merge && type == "object") {
                Y.mix(r[p],s[p]);
            } else {
                r[p] = s[p];
            }
        }
    }
}

6.变量和函数采用小驼峰式命名,变量前缀是名词,函数前缀是动词。

7.常量采用全大写+下划线格式。eg:MAX_HEIGHT

8.构造函数采用大驼峰式命名。

9.字符串用双引号。

10.创建对象和数组时,使用字面量创建。

注:红宝书中提及,使用字面量创建对象和数组不会创建相应的构造函数。

二、注释

1.应该只在代码不清晰的时候才需要注释,避免多余的注释。

2.应采用工具来生成注释文档。eg:JSDoc

三、语句和表达式

1.开始花括弧放在块语句第一句代码的末尾。

注:为了防止ASI(Automatic Semicolon Insertion 自动插入分号)机制自动插入错误的分号。

2.所有块语句都应加花括弧

3.switch语句的case语句应该有缩进,在有注释的情况下可以连续的执行case语句,在有注释的情况下可以省略default语句。

4.不使用with语句

注:红宝书中提及使用with语句会创建一个新的作用域,看似方便的开发者的编写代码,实则很大的降低了效率。

5.for循环最好不使用continue语句,大部分情况下都可用条件语句来替换continue。

6.for-in循环需要在循环体使用hasOwnProperty()来筛掉原型属性。

注:for-in遍历的是对象属性,不仅遍历对象的实例属性,还遍历从原型继承来的属性。

四、变量、函数和运算符

1.变量声明采用一个var 的单独声明语句,带有赋值的在前,仅是声明的在后。

注:注意每个语句使用逗号进行分隔。

2.函数声明,函数内部的局部函数要在变量声明之后声明。

注:虽然不管是变量还是函数,javascript引擎都会把声明语句提前,但是为了养成良好习惯,还是应该要在调用之前声明。

3. 立即执行函数应该使用IIFE

4.避免在全局使用严格模式,应该在函数内部使用。

注:如果在一个文件中使用了全局严格模式,那么所有js代码全部会采用全局严格模式进行验证。

5.应该尽量避免使用eval()方法。

注:eval()方法是动态执行其中字符串(可能是js脚本)的,这样很容易会造成系统的安全问题。

时间: 2024-12-12 09:55:44

总结的javascript编码规范(一)的相关文章

web项目开发 之 前端规范 --- JavaScript编码规范

JavaScript编码规范 此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范文档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 场景:web前端开发中 一些Javascript的注意事项 和 规格建议: [参考百度资料 和个人一些总结] 1 前言 JavaScript 在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使 JavaScript 代码风格保持一致,容易被理解和被维护. 虽然本文档是针对 Java

网易前端JavaScript编码规范

在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊聊javascript的编码规范. 总所周知,javascript是一种语法极其灵活的语言.javascript在设计之初就只是用来为HTML添加动态效果的.由于他动态,弱类型 等特性,以及不同浏览器的兼容性问题,造成了开发成本要比java等语言要高很多.正因为它太灵活,我们制定了适用于网易邮箱的j

学习一份百度的JavaScript编码规范

JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 2.4 注释 2.4.1 单行注释 2.4.2 多行注释 2.4.3 文档化注释 2.4.4 类型定义 2.4.5 文件注释 2.4.6 命名空间注释 2.4.7 类注释 2.4.8 函数/方法注释 2.4.9 事件注释 2.4.10 常量注释 2.4.11 复杂类型注释 2.4.12 AMD 模块注释 2.4.13 细节注释 3

前端Javascript编码规范

在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊聊javascript的编码规范. 总所周知,javascript是一种语法极其灵活的语言.javascript在设计之初就只是用来为HTML添加动态效果的.由于他动态,弱类型等特性,以及不同浏览器的兼容性问题,造成了开发成本要比java等语言要高很多.正因为它太灵活,我们制定了适用于网易邮箱的ja

JavaScript 编码规范 之 函数表达式

! function () { var a = function () // 赋值一个函数表达式 { } , b = function () // b c 效果一样 都是返回一个拥有闭包的函数 { var time = +new Date ; return function () { ; console.log( time ) } }() , c = ( function () // 加上圆括号的原因 1 表示是立即执行 2 拥有闭包元素 { var time = +new Date ; ret

JavaScript 编码规范 之 原括号

; Function() ; function Test() {} ; Test() // 作为函数使用是 应紧贴字符 Function () 这样会误以为声明函数 ; test = function () // function(){} 这里会误会成 调用函数 { } ; if ( true ) { } ; while ( true ) { } ; for ( ; true ; ) { } ; test = ( function () { }()) JavaScript 编码规范 之 原括号

JavaScript 编码规范 之 花括号

//花括号位置 ; function A () { ; return //; retrun; // 这里会自动补分号 所以 返回 undefined 除了这里好久还没发现哪会出错 { } } ; function B () { ; return { // 这样可以避免错误 但是对齐强迫症的人 很纠结 本人就属于这种 } // 还有个原因是 这种写法在编码器里不能很好的折叠 } ; function C () { ; return { // 当然我们这一个小小的原因就放弃对齐 这是很奇怪的 记住就

javascript编码规范[原创]

一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如: 1.使用“var”定义.初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议). 2.结尾必加“;”防止js执行效果跟想象中不一样. 3.判断两数相等使用“===”不要使用“==”.(实际上==会出问题情况很少发生,而js的语法章节也会提及建议使用“===”) 等等导致规范过于冗长,在我看来,命名规范不应太多,而是将实地编码中最常用到的列出即可. 研究过一些框架低层代码.看完<编写可维护的代码>整理

JavaScript编码规范

无规矩不成方圆,写JavaScript也有JavaScript的规范,以前自己写代码都是那种随心所欲的状态,然后过了几天之后再来看,发现已经不认识自己写的代码了,这真是一种有种淡淡的忧伤,所以,规范这种东西是非常有必要的. 当然,这里主要是参考百度FEX对与JavaScript编程规范,我在这里抽取其中自己需要注意的点,点击查看原网站   一.关于空格 1.二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格 2.用作代码块起始的左花括号 { 前必须有一个空格 function (