1 / 44
文档名称:

JAVASCRIPT开发规范.doc

格式:doc   大小:222KB   页数:44页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JAVASCRIPT开发规范.doc

上传人:薄荷牛奶 2017/7/22 文件大小:222 KB

下载得到文件列表

JAVASCRIPT开发规范.doc

相关文档

文档介绍

文档介绍:JAVASCRIPT开发规范
一、JavaScript 语言规范
JavaScript 是一种客户端脚本语言, Google 的许多开源工程中都有用到它. 这份指南列出了编写 JavaScript 时需要遵守的规则.
Alipay 前端 JavaScript 以些规范为准,局部有所修改
            注:http://google-styleguide./svn/trunk/
1. 变量 
声明变量必须加上 var 关键字.
Decision: 当你没有写 var , 变量就会暴露在全局上下文中, 这样很可能会和现有变量冲突. 另外, 如果没有加上, 很难明确该变量的作用域是什么, 变量也很可能像在局部作用域中, 很轻易地泄漏到 Document 或者 Window 中, 所以务必用 var 去声明变量.
2. 常量
常量的形式如: NAMES_LIKE_THIS , 即使用大写字符, 并用下划线分隔. 你也可用***@const 标记来指明它是一个常量. 但请永远不要使用 const 关键词.
Decision:
(1) 对于基本类型的常量, 只需转换命名.
/**
* The number of seconds in a minute.
* ***@type {number}
*/
= 60;
(2) 对于非基本类型, 使用***@const 标记.
/**
* The number of seconds in each of the given units.
* ***@type {Object.<number>}
* ***@const
*/
= {
minute: 60,
hour: 60 * 60,
day: 60 * 60 * 24
}
这标记告诉编译器它是常量.
 
至于关键词 const , 因为 IE 不能识别, 所以不要使用.
3. 分号
总是使用分号.
如果仅依靠语句间的隐式分隔, 有时会很麻烦. 你自己更能清楚哪里是语句的起止.
而且有些情况下, 漏掉分号会很危险:
// 1.
= function() {
return 42;
} // No semicolon here.
 
(function() {
// Some initialization code wrapped in a function to create a scope for locals.
})();
 
var x = {
'i': 1,
'j': 2
} // No semicolon here.
 
// 2. Trying to do one thing on Explorer and another on Firefox.
// I know you'd never write code like this, but throw me a bone.
[normalVersion, ffVersion][isIE]();
 
 
var THINGS_TO_EAT = [apples, oysters, sprayOnCheese] // No semicolon here.
 
// 3. conditional execution a la bash
-1 == resultOfOperation() || die();
 
 
这段代码会发生些什么诡异事呢?
报 JavaScript 错误- 例子1上的语句会解释成, 一个函数带一匿名函数作为参数而被调用, 返回42后, 又一次被"调用", 这就导致了错误.
例子2中, 你很可能会在运行时遇到'no such property in undefined' 错误, 原因是代码试图这样 x[ffVersion][isIE]() 执行.
当 resultOfOperation() 返回非 NaN 时, 就会调用 die , 其结果也会赋给 THINGS_TO_EAT .
为什么?
JavaScript 的语句以分号作为结束符, 除非可以非常准确推断某结束位置才会省略分号. 上面的几个例子产出错误, 均是在语句中声明了函数/对象/数组直接量, 但闭括号('}'或']')并不足以表示该语句的结束. 在 JavaScript 中, 只有当语句后的下一个符号是后缀或括号运算符时, 才会认为该语句的结束.
遗漏分号有时会出现很奇怪的结果, 所以确保语句