欢迎来到天天文库
浏览记录
ID:1805696
大小:39.70 KB
页数:21页
时间:2017-11-13
《javascript编码规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Javascript编码规范hellohtml5.com21/21版本记录Javascript编码规范1.01.0hellohtml52011.5.721/21前言这是一组Javascript编码规范,借鉴了Sun公司的官方文档《Java编码规范》。一个软件的生命期与其代码质量成绝对正比。软件在生存期间,可能要被上百的人修改或查看。如果开发者很容易了解到软件的架构和特性,那么在近期对其进行修改时出现问题的几率就比较低。代码规范可以增强代码的健壮性。Javascript代码是公开的,因此代码应具备发布的质量。代码可以更整洁。21/21文
2、件规范Javascript代码应以单独.js文件的形式存储和输出。Javascript代码不应该直接嵌入HTML文件,除非此代码在一次性的会话中用到。在HTML中使用JS代码会增加页面的体积,并无法使用缓存和压缩机制。标签应放在标签的尽可能底部。这样做可以尽可能快的使页面显示出来。没有必要使用language或者type属性。21/21缩进规范缩进的单位为4个空格。避免使用tab,因为tab并没有统一的标准规定其宽度。使用空格会增加文件大小,但是后期可以通过压缩JS代码的方式除
3、去此影响。21/21行长度规范避免单行代码超过80个字符。如果语句不能在一行内完成,那么应该打断它。在操作符后打断,一般在分号后打断。在操作符后打断可以降低复制粘贴代码的操作导致出错的可能性。下一行应该以8个空格开始。21/21注释规范尽量为你的代码进行注释,这是非常有用的,当有人(可能是你自己)需要知道你都做了些什么。注释应该良好而整洁的编写,就想是对代码的批注。稍微带点儿幽默最好了,抱怨和沮丧就算了。非常重要的一点是注释应该及时更新。错误的注释可能使程序更加难以理解。注释应言之有物,主要说明不能立即从代码中发现的东西。不要浪费你和
4、别人的时间在如下的注释上。i=0;//把i赋值为0一般使用行注释。块注释用来做正规的文档和块代码注释。21/21变量声明规范所有的变量应该在使用前声明。Javascript语言并不要求这样做,但是这样做可以使代码易于阅读,并且易于检查出未被声明的变量或许这些变量已经是隐含全局变量。永远不要使用隐含全局变量。var语句应该永远是函数体的第一个语句每个变量声明语句在最好在单独的行并进行注释。这些变量应以字母表的顺序进行排序。varcurrentEntry;//当前表格入口varlevel;//缩进层级varsize;//表格大小尽量避免使
5、用显式的全局变量,绝对不要使用隐含全局变量。21/21函数声明规范所有的函数应该在使用前声明。内部函数(函数内部的函数)应该用var关键字声明。这样对明确那些变量在此函数作用域有帮助。函数名和左括号之间不应该有空格。右括号和{之间应有一空格。函数体缩进4个空格。}与函数定义起始处对齐。functionouter(c,d){vare=c*d;functioninner(a,b){return(e*a)+b;}returninner(0,1);}这样做在代码结构非常复杂时也可以提供良好的可读性。21/21functiongetElemen
6、tsByClassName(className){varresults=[];walkTheDOM(document.body,function(node){vara;//classname数组varc=node.className;//node的classnamevari;//计数//如果node有className属性,那么分割为较小的classname//如果有匹配到指定的classname那么保存到结果集合里if(c){a=c.split(‘’);for(i=0;i7、Name){results.push(node);break;}}}});returnresults;}如果是匿名函数,在function和(之间应有一空格。如果忽略这个空格,那么看起来这个函数的名字就是function,这样会造成误读。div.onclick=function(e){returnfalse;};that={method:function(){returnthis.datum;},datum:0};21/21尽量不要使用全局函数。立即执行的匿名函数应该用一对括号包裹起来,清楚的表明我们要使用的是函数执行的结果,而不是函8、数自身。varcollection=(function(){varkeys=[],values=[];return{get:function(key){varat=keys.indexOf(key);if(at>=0){
7、Name){results.push(node);break;}}}});returnresults;}如果是匿名函数,在function和(之间应有一空格。如果忽略这个空格,那么看起来这个函数的名字就是function,这样会造成误读。div.onclick=function(e){returnfalse;};that={method:function(){returnthis.datum;},datum:0};21/21尽量不要使用全局函数。立即执行的匿名函数应该用一对括号包裹起来,清楚的表明我们要使用的是函数执行的结果,而不是函
8、数自身。varcollection=(function(){varkeys=[],values=[];return{get:function(key){varat=keys.indexOf(key);if(at>=0){
此文档下载收益归作者所有