Google JavaScript 编码规范指南

Google JavaScript 编码规范指南

ID:41384843

大小:995.26 KB

页数:36页

时间:2019-08-23

Google JavaScript 编码规范指南_第1页
Google JavaScript 编码规范指南_第2页
Google JavaScript 编码规范指南_第3页
Google JavaScript 编码规范指南_第4页
Google JavaScript 编码规范指南_第5页
资源描述:

《Google JavaScript 编码规范指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、GoogleJavaScript编码规范指南修订版:2.9AaronWhyte、BobJervis、DanPupius、EricArvidsson、FritzSchneider、RobbyWalker目录JavaScript变量常量分号嵌套函数块内函数声明异常自定义异常标准特性封装语言规范基本类型多级原型结构方法定义闭包eval()with(){}thisfor-in循环关联数组多行字符串Array和Object直接量修改内置对象的原型IE下的条件注释JavaScript命名自定义toString()方法延迟初始化明确作用域代码格式化括号字编码风格符串可见性(私有域和保护域)JavaSc

2、ript类型注释编译TipsandTricks背景JavaScript是一种客户端脚本语言,Google的许多开源工程中都有用到它.这份指南列出了编写JavaScript时需要遵守的规则.JavaScript语言规范变量:声明变量必须加上var关键字.Decision:当你没有写var,变量就会暴露在全局上下文中,这样很可能会和现有变量冲突.另外,如果没有加上,很难明确该变量的作用域是什么,变量也很可能像在局部作用域中,很轻易地泄漏到Document或者Window中,所以务必用var去声明变量.常量:常量的形式如:NAMES_LIKE_THIS,即使用大写字符,并用下划线分隔.你也可用

3、@const标记来指明它是一个常量.但请永远不要使用const关键词.Decision:对于基本类型的常量,只需转换命名./***Thenumberofsecondsinaminute.*@type{number}*/goog.example.SECONDS_IN_A_MINUTE=60;对于非基本类型,使用@const标记./***Thenumberofsecondsineachofthegivenunits.*@type{Object.}*@const*/goog.example.SECONDS_TABLE={minute:60,hour:60*60,day:60*6

4、0*24}这标记告诉编译器它是常量.至于关键词const,因为IE不能识别,所以不要使用.分号:总是使用分号.如果仅依靠语句间的隐式分隔,有时会很麻烦.你自己更能清楚哪里是语句的起止.而且有些情况下,漏掉分号会很危险://1.MyClass.prototype.myMethod=function(){return42;}//Nosemicolonhere.(function(){//Someinitializationcodewrappedinafunctiontocreateascopeforlocals.})();varx={'i':1,'j':2}//Nosemicolonhere

5、.//2.TryingtodoonethingonInternetExplorerandanotheronFirefox.//Iknowyou'dneverwritecodelikethis,butthrowmeabone.[normalVersion,ffVersion][isIE]();varTHINGS_TO_EAT=[apples,oysters,sprayOnCheese]//Nosemicolonhere.//3.conditionalexecutionalabash-1==resultOfOperation()

6、

7、die();这段代码会发生些什么诡异事呢?1.报JavaSc

8、ript错误-例子1上的语句会解释成,一个函数带一匿名函数作为参数而被调用,返回42后,又一次被"调用",这就导致了错误.2.例子2中,你很可能会在运行时遇到'nosuchpropertyinundefined'错误,原因是代码试图这样x[ffVersion][isIE]()执行.3.当resultOfOperation()返回非NaN时,就会调用die,其结果也会赋给THINGS_TO_EAT.为什么?JavaScript的语句以分号作为结束符,除非可以非常准确推断某结束位置才会省略分号.上面的几个例子产出错误,均是在语句中声明了函数/对象/数组直接量,但闭括号('}'或']')并不足

9、以表示该语句的结束.在JavaScript中,只有当语句后的下一个符号是后缀或括号运算符时,才会认为该语句的结束.遗漏分号有时会出现很奇怪的结果,所以确保语句以分号结束.嵌套函数:可以使用嵌套函数很有用,比如,减少重复代码,隐藏帮助函数,等.没什么其他需要注意的地方,随意使用.块内函数声明:不要在块内声明一个函数不要写成:if(x){functionfoo(){}}虽然很多JS引擎都支持块内声明函数,但它不属于ECMAScript规

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。