文章分类
HTML/CSS Flash教程 Fireworks教程 Dreamweave JavaScript 网站推广 网页理论 其他教程 视频教程
 产品搜索
关键字: 分类:

整站搜索:
最新更新资源:
海量设计素材
韩国网页设计模板
高清PSD素材库
Flash网站模板
设计素材图库:
婚纱影楼模板
韩国卡通图库
VIS模板
版式画册模板

最新素材图库



当前位置:首页 >> 网页教程>> JavaScript >> javascript编程语言的编码规范

javascript编程语言的编码规范


作者: 佚名 来源:网络 浏览:7 日期:2011-6-23 19:31:38

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在的长期价值直接与编码的质量成比例。编码规范能帮助我们降低编程中不必要的麻烦。而 javascript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注。

  本文浅谈 javascript 编程中关于编码规范的问题,分析其中缘由。希望引起更多 Web 开发人员对 javascript 编码规范问题的关注和对软件产品质量问题的重视。

  前言

  提及 C/C++ 和 Java 编码规范,相信许多工程师并不生疏。但说到 javascript 语言的编码规范,也许您会忍俊不禁。javascript 不是语法很灵活吗?变量随时用随时可以声明;语句结束符可以不要;字符串和数字也可以相加;参数多一个少一个也不会报错。没错,当您从 C/C++ 和 Java 严格的语法规定之下,转向 javascript 语言,会觉得自由了很多,轻松了很多。语法松散是 javascript 重要的特征。它灵活易懂,给开发人员带来了很多方便,但如果编写过程中不注意,代码的调试成本和维护成本则会无形地增加。

  javascript 编码会随应被直接发送到客户端的浏览器,代码规范不只是代码质量的保证,也影响到产品的长期信誉。希望 javascript 编程语言的规范问题也能同样引起更多朋友的关注。

  javascript 编码规范建议

  本文就 javascript 编码过程中涉及的排版、命名、声明、作用域、及一些特殊符号的使用等方面,根据个人在学习工作中的总结,给出自己的一些建议,并分析其中缘由,以供参考。

  javascript 文件引用

  javascript 程序应该尽量放在 .js 的文件中,需要调用的时候在 HTML 中以

  从清单 4 的输出可以看出,inF() 函数仅在 outF() 函数的内部生效,局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。

  语句

  对于简单语句而言,需要提及的仍然是分号必要性,同时,一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。

  这是因为 javascript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。

  对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。

  '{' 应在行末,标志代码块的开始。

  '}' 应在一行开头,标志代码块的结束,同时需要和'{'所在行的开始对齐,以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性,控制逻辑能清晰地表现出来。

  被包含的代码段应该再缩进 4 个空格。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  即使被包含的代码段只有一句,也应该用花括号'{}'包含。尽管不用花括号代码也不会错,但如若需要增加语句的话,则较容易因花括号遗漏而引起的编译错误或逻辑错误。

  return语句在使用时也需慎重,如果用表达式的执行作为返回值,请把表达式和 return 放在同一行中,以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式,则返回 undefined。构造器的默认返回值为 this。

  清单 5. return 表达式

  在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。

  特殊符号

  空白符

  适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。

  关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。

  在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。

  逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。

  分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。

  { } 和 [ ]

  在 javascript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  == 和 ===

  判断"逻辑等"在代码里太平常的不过事情了,但 javascript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。

  清单 6. === 的使用

  

  清单 6 中,valueA 和 valueB 两个变量的值显然是不相等的,起码 valueA 是个字符串,而 valueB 是一个数字。但用'=='进行判断是,程序却输出相等的字样。这是因为编译器对两个变量进行比较时,因为他们的类型不同,而自动地将 valueB 转换成字符串,而后再和 valueA 进行比较的。用'==='得到的判断结果正和预期的结果相符。

  +

  加号'+'也同样是程序员所熟知的操作符之一。javascript 和其他编程语言不同的是,在 javascript 中,'+'除了表示数字值相加,字符串相连接以外,还可以作一元运算符用,把字符串转换为数字。因而如果使用不当,则可能与自增符'++'混淆而引起计算错误。这一点,在清单 7 中可以清楚地看出。

  清单 7. 巧用 + 号

  

  总结

  本文就 javascript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面,谈了自己对 javascript 编程规范的建议。此外,还有许多方面需要深入了解研究,如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性,在编写代码时多用心留意,以创造更多更优质的程序代码

  作者:王丹丹

  转载:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608

  

  

  

  

开头

  允许名称中包含字母,数字,下划线'_'和美元符号'

  从清单 4 的输出可以看出,inF() 函数仅在 outF() 函数的内部生效,局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。

  语句

  对于简单语句而言,需要提及的仍然是分号必要性,同时,一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。

  这是因为 javascript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。

  对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。

  '{' 应在行末,标志代码块的开始。

  '}' 应在一行开头,标志代码块的结束,同时需要和'{'所在行的开始对齐,以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性,控制逻辑能清晰地表现出来。

  被包含的代码段应该再缩进 4 个空格。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  即使被包含的代码段只有一句,也应该用花括号'{}'包含。尽管不用花括号代码也不会错,但如若需要增加语句的话,则较容易因花括号遗漏而引起的编译错误或逻辑错误。

  return语句在使用时也需慎重,如果用表达式的执行作为返回值,请把表达式和 return 放在同一行中,以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式,则返回 undefined。构造器的默认返回值为 this。

  清单 5. return 表达式

  在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。

  特殊符号

  空白符

  适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。

  关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。

  在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。

  逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。

  分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。

  { } 和 [ ]

  在 javascript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  == 和 ===

  判断"逻辑等"在代码里太平常的不过事情了,但 javascript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。

  清单 6. === 的使用

  

  清单 6 中,valueA 和 valueB 两个变量的值显然是不相等的,起码 valueA 是个字符串,而 valueB 是一个数字。但用'=='进行判断是,程序却输出相等的字样。这是因为编译器对两个变量进行比较时,因为他们的类型不同,而自动地将 valueB 转换成字符串,而后再和 valueA 进行比较的。用'==='得到的判断结果正和预期的结果相符。

  +

  加号'+'也同样是程序员所熟知的操作符之一。javascript 和其他编程语言不同的是,在 javascript 中,'+'除了表示数字值相加,字符串相连接以外,还可以作一元运算符用,把字符串转换为数字。因而如果使用不当,则可能与自增符'++'混淆而引起计算错误。这一点,在清单 7 中可以清楚地看出。

  清单 7. 巧用 + 号

  

  总结

  本文就 javascript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面,谈了自己对 javascript 编程规范的建议。此外,还有许多方面需要深入了解研究,如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性,在编写代码时多用心留意,以创造更多更优质的程序代码

  作者:王丹丹

  转载:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608

  

  

  

  

  区分大小写

  变量、参数、成员变量、函数等名称均以小写字母开头,构造器的名称以大写字母开头。下划线'_'开头的变量一般习惯于标识私有 / 局部成员。而美元符号'

  从清单 4 的输出可以看出,inF() 函数仅在 outF() 函数的内部生效,局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。

  语句

  对于简单语句而言,需要提及的仍然是分号必要性,同时,一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。

  这是因为 javascript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。

  对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。

  '{' 应在行末,标志代码块的开始。

  '}' 应在一行开头,标志代码块的结束,同时需要和'{'所在行的开始对齐,以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性,控制逻辑能清晰地表现出来。

  被包含的代码段应该再缩进 4 个空格。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  即使被包含的代码段只有一句,也应该用花括号'{}'包含。尽管不用花括号代码也不会错,但如若需要增加语句的话,则较容易因花括号遗漏而引起的编译错误或逻辑错误。

  return语句在使用时也需慎重,如果用表达式的执行作为返回值,请把表达式和 return 放在同一行中,以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式,则返回 undefined。构造器的默认返回值为 this。

  清单 5. return 表达式

  在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。

  特殊符号

  空白符

  适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。

  关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。

  在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。

  逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。

  分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。

  { } 和 [ ]

  在 javascript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  == 和 ===

  判断"逻辑等"在代码里太平常的不过事情了,但 javascript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。

  清单 6. === 的使用

  

  清单 6 中,valueA 和 valueB 两个变量的值显然是不相等的,起码 valueA 是个字符串,而 valueB 是一个数字。但用'=='进行判断是,程序却输出相等的字样。这是因为编译器对两个变量进行比较时,因为他们的类型不同,而自动地将 valueB 转换成字符串,而后再和 valueA 进行比较的。用'==='得到的判断结果正和预期的结果相符。

  +

  加号'+'也同样是程序员所熟知的操作符之一。javascript 和其他编程语言不同的是,在 javascript 中,'+'除了表示数字值相加,字符串相连接以外,还可以作一元运算符用,把字符串转换为数字。因而如果使用不当,则可能与自增符'++'混淆而引起计算错误。这一点,在清单 7 中可以清楚地看出。

  清单 7. 巧用 + 号

  

  总结

  本文就 javascript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面,谈了自己对 javascript 编程规范的建议。此外,还有许多方面需要深入了解研究,如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性,在编写代码时多用心留意,以创造更多更优质的程序代码

  作者:王丹丹

  转载:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608

  

  

  

  

开头的变量习惯于标识系统相关,比如系统进程等。应避免用下划线'_'或美元符号'

  从清单 4 的输出可以看出,inF() 函数仅在 outF() 函数的内部生效,局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。

  语句

  对于简单语句而言,需要提及的仍然是分号必要性,同时,一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。

  这是因为 javascript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。

  对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。

  '{' 应在行末,标志代码块的开始。

  '}' 应在一行开头,标志代码块的结束,同时需要和'{'所在行的开始对齐,以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性,控制逻辑能清晰地表现出来。

  被包含的代码段应该再缩进 4 个空格。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  即使被包含的代码段只有一句,也应该用花括号'{}'包含。尽管不用花括号代码也不会错,但如若需要增加语句的话,则较容易因花括号遗漏而引起的编译错误或逻辑错误。

  return语句在使用时也需慎重,如果用表达式的执行作为返回值,请把表达式和 return 放在同一行中,以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式,则返回 undefined。构造器的默认返回值为 this。

  清单 5. return 表达式

  在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。

  特殊符号

  空白符

  适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。

  关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。

  在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。

  逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。

  分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。

  { } 和 [ ]

  在 javascript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  == 和 ===

  判断"逻辑等"在代码里太平常的不过事情了,但 javascript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。

  清单 6. === 的使用

  

  清单 6 中,valueA 和 valueB 两个变量的值显然是不相等的,起码 valueA 是个字符串,而 valueB 是一个数字。但用'=='进行判断是,程序却输出相等的字样。这是因为编译器对两个变量进行比较时,因为他们的类型不同,而自动地将 valueB 转换成字符串,而后再和 valueA 进行比较的。用'==='得到的判断结果正和预期的结果相符。

  +

  加号'+'也同样是程序员所熟知的操作符之一。javascript 和其他编程语言不同的是,在 javascript 中,'+'除了表示数字值相加,字符串相连接以外,还可以作一元运算符用,把字符串转换为数字。因而如果使用不当,则可能与自增符'++'混淆而引起计算错误。这一点,在清单 7 中可以清楚地看出。

  清单 7. 巧用 + 号

  

  总结

  本文就 javascript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面,谈了自己对 javascript 编程规范的建议。此外,还有许多方面需要深入了解研究,如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性,在编写代码时多用心留意,以创造更多更优质的程序代码

  作者:王丹丹

  转载:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608

  

  

  

  

来命名标识符。尽可能地降低代码的阅读负担。

  声明

  变量的声明

  尽管 javascript 语言并不要求在变量使用前先对变量进行声明。但我们还是应该养成这个好习惯。这样可以比较容易的检测出那些未经声明的变量,避免其变为隐藏的全局变量,造成隐患。

  在函数的开始应先用 var 关键字声明函数中要使用的局部变量,注释变量的功能及代表的含义,且应以字母顺序排序。每个变量单独占一行,以便添加注释。这是因为 javascript 中只有函数的 {} 表明作用域,用 var 关键字声明的局部变量只在函数内有效,而未经 var 声明的变量则被视为全局变量。我们来看下清单 3。

  清单 3. 局部变量声明

  从上例的输出惊奇地发现,用 var 声明过的变量 valueA 和没有声明的变量 valueB 是有区别的。特别需要注意的是,在函数内部用 var 声明的变量为局部变量,这样可以有效地避免因局部变量和全局变量同名而产生的错误。

  函数的声明

  函数也应在调用前进行声明,内部函数应在 var 声明内部变量的语句之后声明,可以清晰地表明内部变量和内部函数的作用域。

  此外,函数名紧接左括号'('之间,而右括号')'和后面的'{'之间要有个空格,以清楚地显示函数名以其参数部分,和函数体的开始。若函数为匿名 / 无名函数,则 function 关键字和左括号'('之间要留空格,否则可能误认为该函数的函数名为 function。

  清单 4. 内部函数声明

  

  从清单 4 的输出可以看出,inF() 函数仅在 outF() 函数的内部生效,局部变量 innerA 对内部函数的作用域生效。这样的编码方式使得变量和函数的作用域变得清晰。

  语句

  对于简单语句而言,需要提及的仍然是分号必要性,同时,一行最多有一个语句。如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。

  这是因为 javascript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。

  对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。

  '{' 应在行末,标志代码块的开始。

  '}' 应在一行开头,标志代码块的结束,同时需要和'{'所在行的开始对齐,以表明一个完整的复合语句段。这样可以极大地提高代码的可阅读性,控制逻辑能清晰地表现出来。

  被包含的代码段应该再缩进 4 个空格。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  即使被包含的代码段只有一句,也应该用花括号'{}'包含。尽管不用花括号代码也不会错,但如若需要增加语句的话,则较容易因花括号遗漏而引起的编译错误或逻辑错误。

  return语句在使用时也需慎重,如果用表达式的执行作为返回值,请把表达式和 return 放在同一行中,以免换行符被误解析为语句的结束而引起返回错误。return 关键字后若没有返回表达式,则返回 undefined。构造器的默认返回值为 this。

  清单 5. return 表达式

  在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。

  特殊符号

  空白符

  适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。

  关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。

  在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。

  逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。

  分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。

  { } 和 [ ]

  在 javascript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。

网页制作Webjx文章简介:对于熟悉 C/C++ 或 Java 语言的工程师来说,javascript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,javascript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在

  == 和 ===

  判断"逻辑等"在代码里太平常的不过事情了,但 javascript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。

  清单 6. === 的使用

  

  清单 6 中,valueA 和 valueB 两个变量的值显然是不相等的,起码 valueA 是个字符串,而 valueB 是一个数字。但用'=='进行判断是,程序却输出相等的字样。这是因为编译器对两个变量进行比较时,因为他们的类型不同,而自动地将 valueB 转换成字符串,而后再和 valueA 进行比较的。用'==='得到的判断结果正和预期的结果相符。

  +

  加号'+'也同样是程序员所熟知的操作符之一。javascript 和其他编程语言不同的是,在 javascript 中,'+'除了表示数字值相加,字符串相连接以外,还可以作一元运算符用,把字符串转换为数字。因而如果使用不当,则可能与自增符'++'混淆而引起计算错误。这一点,在清单 7 中可以清楚地看出。

  清单 7. 巧用 + 号

  

  总结

  本文就 javascript 代码的排版、命名、声明、语句、和一些特殊字符的使用等方面,谈了自己对 javascript 编程规范的建议。此外,还有许多方面需要深入了解研究,如 with, eval 语句和 this 对象的使用等等。我们在认识其普遍性的同时也需要注意其特殊性,在编写代码时多用心留意,以创造更多更优质的程序代码

  作者:王丹丹

  转载:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608

  

  

  

  


上一篇:什么是Flash Ajax Video组件? 下一篇:xhEditor:基于jQuery的高效的XHTML编辑器
【关闭窗口】 【返回顶部】返回网页教程】 【返回JavaScript

相关推荐文章

jQuery教程:da..

javascr..

什么是Flash Aj..

学习jQuery:经常..

JS实例教程:制作图片..

JS教程:词法作用域和..

滑动导航菜单的变体使用


关于本站 | 广告服务 | 联系我们 | 站长微博 | 活动支持 | 友情链接 | 投稿热线 | 网站地图
版权所有 Copyright@ 2005 设计路上 QQ技术讨论群 24980615(已满) 5204059(已满) 4337615(已满)
业务联系Email:huchuangwu@hotmail.com 粤ICP备05029101号