18910140161

JavaScript程序编码

顺晟科技

2021-06-16 10:57:25

124

JavaScript程序编码规范

这是一套适用于JavaScript程序的编码规范。它基于Sun的Java程序编码标准。但是因为JavaScript不是Java,所以做了很大的修改。

软件的长远价值直接来自于它的编码质量。在一个程序的整个生命周期中,它可能被许多人阅读或修改。如果一个程序能够清晰的展现出它的结构和特点,就可以减少以后修改的时候出错的可能性。编程规范可以帮助程序员增加程序的健壮性。

所有的JavaScript代码都向公众公开。所以要保证它的质量。

保持干净整洁很重要。

JavaScript文件

JavaScript程序应该独立存储在带后缀的文件中。js。

JavaScript代码不应包含在HTML文件中,除非它是只属于这一部分的特定于段的代码。HTML中的JavaScript代码会明显增加文件大小,无法缓存和压缩。

filename.js应该尽可能放在正文之后。这可以减少由于加载脚本而导致的其他页面内容加载延迟的问题。不需要使用语言或类型属性。MIME类型由服务器决定,而不是scripttag。

缩进

缩进的单位是四个空格。避免使用Tab键缩进(即使现在是21世纪),也没有统一的Tab长度标准。虽然空间的使用会增加文件大小,但在局域网中几乎可以忽略,在最小化的过程中可以消除。

每行长度

避免每行超过80个字符。当一个语句不能写成一行时,考虑折叠行。在操作数后换行,更好是逗号。运算符后换行可以降低复制粘贴引起的错误被分号覆盖的概率。下一行应该缩进8个空格。

注释

不要吝啬评论。给以后需要理解你的代码的人(也许是你自己)留下信息是非常有用的。注释应该像它们注释的代码一样清晰明了。偶尔幽默一点就更好了。切记避免冗长或情绪化。

及时更新评论也很重要。错误的注释会使程序更难阅读和理解。

让评论有意义。重点放在解释不容易马上理解的逻辑上。不要浪费读者的时间读:之类的东西

I=0;//让I等于0

使用单行注释。块标注是用来标注公文和无用代码的。

变量声明

所有变量必须在使用前声明。JavaScript不一定要这样做,但是可以让程序很容易读取和找到未声明的变量(它们会被编译成全局变量)。

将var语句放在函数的开头。

更好将每个变量的声明语句放在单独的一行,并添加注释。所有变量都按字母顺序排序。

var currentEntry//当前选中项目var级别;//缩进程度var size//表格大小

JavaScript没有块作用域,C/C /Java程序员很容易因为在块中定义变量而产生误解。定义函数头部的所有变量。尽量少用全局变量。不要让局部变量覆盖全局变量。

函数声明

所有函数在使用前都要声明。内部函数的声明遵循var语句。这有助于确定哪些变量在函数范围内。

函数名和((左括号)之间不应有空格。应该在起始程序体的(右括号)和{(左括号)之间插入一个空格。函数程序体应该缩进四个空格。}(右大括号)与声明函数的行的标题对齐。

函数outer(c,d){ var e=c * d;函数inner(a,b){ return(e * a)b;} return inner(0,1);}

下面的编写方法可以在JavaScript中正常使用,因为在JavaScript中,函数和对象的声明可以放在表达式允许的任何地方。并且它使得内联函数和混合结构可读性更好。

函数GetElementsByclassname(ClassName){ var results=[];walkTheDOM(document.body,function(node){ var a;//类名数组var c=node.className//节点的类名var I;//循环计数器//如果节点有类名,那么就把它拆分成一个简单名称的列表。//如果它们中的任何一个匹配所请求的名称,那么将该节点附加到结果集。if(c){ a=c . split(');for(I=0;i .长度;I=1){ if(a[I]===CLaSS name){ results . push(node);打破;} } } });返回结果;}

如果函数是匿名的,函数和((左括号)之间应该有空格。如果省略空格,会让人觉得函数名就是函数。

div . onclick=function(e){ return false;};that={ method : function(){ return this . datum;},datum : 0 };

尽量不要使用全局函数。

命名

变量名应该由26个大写和小写字母组成.z,a.z),10个数字(0.9)和_(下划线)。避免使用国际化字符(如中文),因为它们在任何地方都不容易阅读和理解。命名时不要使用$(美元符号)或(反斜杠)。

请勿将_(下划线)用作变量名的个字符。有时用来表示私有变量,但实际上JavaScript并不提供私有变量的功能。如果私有变量很重要,就用私有成员的形式。应该避免这种误导性的命名约定。

大多数变量名和方法名应该以小写字母开头。

必须与new一起使用的构造函数名称应以大写字母开头。当new被省略时,JavaScript不会抛出任何编译错误或运行错误。忘记添加新的会导致不好的事情发生(比如会被当作正常函数),所以构造函数名大写是我们尽量避免这种情况的方法。

全局变量都要大写。(JavaScript没有宏,也没有常量,不会引起误解。)

语句

简单语句

每行最多包含一条语句。放;(分号)在每个简单语句的末尾。请注意,函数赋值或对象赋值语句也是赋值语句,应该以分号结束。

JavaScript可以把任何表达式当作一条语句。很容易隐藏一些错误,尤其是误加额外标记的错误。只有在赋值和调用时,表达式才应被视为单独的语句。

复合语句

复合语句是包含在{}中的一系列语句(花括号)。

封闭语句必须多缩进四个空格。

{(左大括号)应该在复合语句的末尾。

}(右大括号)应该与行首对齐{(左大括号)

大括号应该用在所有复合语句中,即使只有一个语句,当它们是控制结构的一部分时,如if或f or语句。这样做可以避免以后添加语句导致的错误。

标示

语句标记是可选的,只有下列语句必须标记为:while、do、for、switch。

return 语句

不要使用()(括号)将返回值包含在带有返回值的return语句中。如果返回一个表达式,该表达式应该与return关键字在同一行,以避免出现false加号的错误。

if 语句

如果语句应采用以下格式:

if (condition){语句;}if (condition) {语句;} else {语句;}if (condition) {语句;} else if (condition) {语句;} else {语句;}

for 语句

for语句应采用以下格式:

for(初始化;条件;update) {语句;} for(object中的变量)if (filter) {语句;}

种形式的循环用于相关参数已知的数组循环。

第二种形式适用于对象。对象原型中的成员将包含在迭代器中。通过预定义的hasOwnProperty方法:来区分真实对象成员是一个很好的方法

for(variable in object)if(object . HasownProperty(variable)){语句;}

while 语句

while语句应该采用以下格式:

while (condition){语句;}

do 语句

Do语句应采用以下格式:

do {语句;} while(条件);

与其他复合语句不同,do语句总是采用;(分号)结尾。

switch 语句

switch语句应采用以下格式:

switch(expression){ case expression :语句;default:语句;}

每个案例都与开关对齐。这样可以避免过度缩进。

每组语句(默认除外)都应以break、return或throw结尾。不要让它按顺序往下走。

try 语句

Try语句应采用以下格式:

尝试{语句;} catch (variable){语句;}尝试{语句;} catch (variable){语句;}最后{语句;}

continue 语句

避免使用继续语句。很容易使程序的逻辑过程模糊不清。

with 语句

不要使用with语句。

空白

用空行分隔逻辑上相关的代码块可以提高程序的可读性。

在以下情况下,空格应使用:

(左括号)后面的关键字应该用空格隔开。

函数参数和((左括号)之间不应有空格。这有助于区分关键字和函数调用。

除了。(点)和((左括号)和[(左括号)应该用空格与操作数分开。

一元运算符及其操作数之间不应有空格,除非运算符是一个单词,如typeof。

每个都在控制部分,如for语句中;(分号)后面必须跟一个空格。

每一个,(逗号)后面应该跟一个空格。

另外的建议

{} 和[]

使用{}代替新对象()。使用[]代替新的数组()。

当成员名称是一组有序的数字时,使用数组来保存数据。当成员名称为不规则字符串或其他名称时,使用对象保存数据。

,(逗号)操作符

避免使用逗号运算符,除非是在特定for语句的控制部分。(这不包括对象定义、数组定义、var语句和参数列表中使用的逗号分隔符。)

作用域

在JavaScript中,块没有字段。只有函数才有字段。除非在复合语句中,否则不要使用块。

赋值表达式

避免在if和while语句的条件部分赋值。

if (a=b) {

是正确的说法吗?或者

if (a==b) {

是吧?避免这种不容易判断对错的结构。

===和!==操作符。

使用===和!==运营商会相对好一些。==还有!=运算符执行类型转换。特别是,不要使用==与错误的值(false,null,undefined,"",0,nan)进行比较。

令人迷惑的加号和减号

注意跟紧或者。这种形式很容易保持混乱。为了便于理解,应该插入括号。

total=my InPut . value小计;

更好写出来

total=subtotal(MyInput . value);

这样就不会被误认为。

eval 是恶魔

Eval是JavaScript中最容易被滥用的方法。避免使用。

Eval有一个别名。不要使用函数构造函数。不要将字符串参数传递给setTimeout或setInterval。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航