Google JavaScript 编码规范指南

每个条目都有概述信息, 点击 ▶ 查看详细的内容. 你也可以点击下面的按钮

▶ 展开全部
目录

重要注意事项

显示被隐藏的内容

▶
这份指南中, 可以点击旁边的按钮来显示更多的细节.

背景

JavaScript 是一种客户端脚本语言, Google 的许多开源工程中都有用到它. 这份指南列出了编写 JavaScript 时需要遵守的规则.

JavaScript 语言规范

变量

▶
声明变量必须加上 var 关键字.

常量

▶
常量的形式如: NAMES_LIKE_THIS, 即使用大写字符, 并用下划线分隔. 你也可用 @const 标记来指明它是一个常量. 但请永远不要使用 const 关键词.

分号

▶
总是使用分号.

嵌套函数

▶
可以使用

块内函数声明

▶
不要在块内声明一个函数

异常

▶
可以

自定义异常

▶
可以

标准特性

▶
总是优于非标准特性.

封装基本类型

▶
不要

多级原型结构

▶
不是首选

方法定义

▶
Foo.prototype.bar = function() { ... };

闭包

▶
可以, 但小心使用.

eval()

▶
只用于解析序列化串 (如: 解析 RPC 响应)

with() {}

▶
不要使用

this

▶
仅在对象构造器, 方法, 闭包中使用.

for-in 循环

▶
只用于 object/map/hash 的遍历

关联数组

▶
永远不要使用 Array 作为 map/hash/associative 数组.

多行字符串

▶
不要使用

Array 和 Object 直接量

▶
使用

修改内置对象的原型

▶
不要

IE下的条件注释

▶
不要使用

JavaScript 编码风格

命名

▶

通常, 使用 functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis, 和 SYMBOLIC_CONSTANTS_LIKE_THIS.

展开见细节.

自定义 toString() 方法

▶
应该总是成功调用且不要抛异常.

延迟初始化

▶
可以

明确作用域

▶
任何时候都需要

代码格式化

▶
展开见详细描述.

括号

▶
只在需要的时候使用

字符串

▶
使用 ' 优于 "

可见性 (私有域和保护域)

▶
推荐使用 JSDoc 中的两个标记: @private 和 @protected

JavaScript 类型

▶
强烈建议你去使用编译器.

注释

▶
使用 JSDoc

编译

▶
推荐使用

Tips and Tricks

▶
JavaScript 小技巧

Parting Words

保持一致性.

当你在编辑代码之前, 先花一些时间查看一下现有代码的风格. 如果他们给算术运算符添加了空格, 你也应该添加. 如果他们的注释使用一个个星号盒子, 那么也请你使用这种方式.

代码风格中一个关键点是整理一份常用词汇表, 开发者认同它并且遵循, 这样在代码中就能统一表述. 我们在这提出了一些全局上的风格规则, 但也要考虑自身情况形成自己的代码风格. 但如果你添加的代码和现有的代码有很大的区别, 这就让阅读者感到很不和谐. 所以, 避免这种情况的发生.

更多请关注: http://google-styleguide.googlecode.com/