清单 5. return 表达式
- <script language="javascript">
- function F1() {
- var valueA = 1;
- var valueB = 2;
- return valueA + valueB;
- }
- function F2() {
- var valueA = 1;
- var valueB = 2;
- return
- valueA + valueB;
- }
- alert( F1() ); //output: 3
- alert( F2() ); //ouput: undefined
- </script>
在清单 5 中显示了因返回表达式没有和 return 关键字放在同一行而引起的返回错误,需重视。
特殊符号
空白符
适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。
关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名为 function。
在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。
逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。
分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。
{ } 和 [ ]
在 JavaScript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。
== 和 ===
判断"逻辑等"在代码里太平常的不过事情了,但 JavaScript 与其他熟知的编程语言不同的是,除了可以使用两个等号'=='来作判断以为,还可以使用三个等号'==='来进行逻辑等判断。两者的不同是'=='作逻辑等判断时,会先进行类型转换后再进行比较。'==='则不会。因而,'=='进行的判断结果可能产生偏差。'!='与'!=='的区别亦是如此。本文提倡尽量使用'==='来进行逻辑等的判断,用'!=='进行逻辑不等的判断。
清单 6. === 的使用
- <script language="javascript">
- var valueA = "1";
- var valueB = 1;
- if ( valueA == valueB) {
- alert("Equal");
- }
- else {
- alert("Not equal")
- }
- //output: "Equal"
- if ( valueA === valueB) {
- alert("Equal");
- }
- else {
- alert("Not equal")
- }
- //output: "Not equal"
- </script>