201505061055_《Javascript编码规范笔记》

一.前言。浏览器端编程的行为规范。typescript也尽量遵循该规则。

二.代码风格。

2.1  BOMUTF-8 编码;

   2.2  文件结尾处加一空行;

   2.2  使用 4 个空格做为一个缩进层级

2.3   二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格

2.4  左花括号前必须有一个空格;

2.5  关键词后必须有一个空格;

2.6  在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格;

2.7  函数名形参后的“(”不能有空格;

2.8  ()和[]内不允许有空格;

2.9  每行不得超过 120 个字符;

3.0  运算符处换行时,运算符必须在新行的行首;

3.1 不同行为或逻辑的语句集,使用空行隔开,更易阅读;

3.2  将“){”放在一行;

3.3 数组和对象初始化的混用,严格按照每个对象的 { 和结束 } 在独立一行的风格书写。

如:var array=[

{

//doSomething...

},

{

//doSomething...

}

];

3.4  对于 if...else...try...catch...finally 等语句,推荐使用在尾 } 号后添加一个换行 的风格

if (condition) {

//doSomething...

}

else {

//doSomething...

};

3.5  函数定义结束不允许添加分号

例如: function () {

//dosometing

}

三.命名

3.1  变量 使用 Camel命名法

3.2  常量 使用 全部字母大写,单词间下划线分隔 的命名方式;

3.3  使用 Pstringascal命名法; 例如:CatClass;

3.4  枚举变量 使用 Pascal命名法枚举的属性 使用 全部字母大写,单词间下划线分隔 的命名方式;

3.5  命名空间 使用 Camel命名法;

3.6  类名 使用 名词;

 3.7  函数名 使用 动宾短语;

 3.8  boolean 类型的变量使用 ishas 开头;

3.9 Promise对象动宾短语的“进行时”表达;

四.注释

4.1  // 后跟一个空格;

4.2  文档注释前必须空一行;

4.3  文档说明 what,而不是 how;

4.4  {Array<string>}  string类型的数组;

{(number|boolean)} 多类型;

{?number}   允许为Null;

{!Object}     不允许为Null;

  {function(number, boolean):string} 函数, 形参, 返回值类型;

       @param {string=} name  可选参数, =为类型后缀;

@param {...number} args   变长参数, ...为类型前缀;

{*}  任意类型;

@param {*=} name  可选任意类型;

@param {...*} args  变长任意类型;

4.5  文件顶部必须包含文件注释,用 @file和@author等 标识文件说明;

4.6  使用 @extends 标记类的继承信息;

4.7  // null 或 undefined

// good
   if (noValue == null) {
     // ......
    }

五.

时间: 2024-11-09 03:20:52

201505061055_《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的编码规范. 一.格式化 1.使用4个空格来缩进层级. 注:由于有些操作系统或编译环境对于tab(制表符)的处理不尽相同,而空格无差异,所以使用空格来进行缩进. 2.每条语句的结尾都应加分号. 注:红宝书中也说过,为了防止压缩错误,最好不要省略. 3.每行的长度不应该超过80个字符. 4.若长度超过限制,可以在运算符后换行. 5.空行:方法和方法之间需要空行,方法和局部变量之间需要空行,注释之前需要空行,逻辑