{ } 和 [ ]
在 JavaScript 中,如需定義空對象和空數(shù)組,通常很自然地想到用 new Object() 和 new Array() 的方法。其實(shí)花括號'{}'和方括號'[]'可以直接用來定義一個空對象和一個空數(shù)組。這種書寫方法可以使代碼看起來簡單易懂。
== 和 ===
判斷"邏輯等"在代碼里太平常的不過事情了,但 JavaScript 與其他熟知的編程語言不同的是,除了可以使用兩個等號'=='來作判斷以為,還可以使用三個等號'==='來進(jìn)行邏輯等判斷。兩者的不同是'=='作邏輯等判斷時,會先進(jìn)行類型轉(zhuǎn)換后再進(jìn)行比較。'==='則不會。因而,'=='進(jìn)行的判斷結(jié)果可能產(chǎn)生偏差。'!='與'!=='的區(qū)別亦是如此。本文提倡盡量使用'==='來進(jìn)行邏輯等的判斷,用'!=='進(jìn)行邏輯不等的判斷。
清單 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>
清單 6 中,valueA 和 valueB 兩個變量的值顯然是不相等的,起碼 valueA 是個字符串,而 valueB 是一個數(shù)字。但用'=='進(jìn)行判斷是,程序卻輸出相等的字樣。這是因?yàn)榫幾g器對兩個變量進(jìn)行比較時,因?yàn)樗麄兊念愋筒煌詣拥貙?valueB 轉(zhuǎn)換成字符串,而后再和 valueA 進(jìn)行比較的。用'==='得到的判斷結(jié)果正和預(yù)期的結(jié)果相符。
+
加號'+'也同樣是程序員所熟知的操作符之一。JavaScript 和其他編程語言不同的是,在 JavaScript 中,'+'除了表示數(shù)字值相加,字符串相連接以外,還可以作一元運(yùn)算符用,把字符串轉(zhuǎn)換為數(shù)字。因而如果使用不當(dāng),則可能與自增符'++'混淆而引起計(jì)算錯誤。這一點(diǎn),在清單 7 中可以清楚地看出。
清單 7. 巧用 + 號
<script language="javascript"> var valueA = 20; var valueB = "10"; alert( valueA + valueB); //ouput: 2010 alert( valueA + (+valueB)); //output: 30 alert( valueA + +valueB); //output:30 alert( valueA ++valueB); //Compile error </script>
總結(jié)
本文就 JavaScript 代碼的排版、命名、聲明、語句、和一些特殊字符的使用等方面,談了自己對 JavaScript 編程規(guī)范的建議。此外,還有許多方面需要深入了解研究,如 with, eval 語句和 this 對象的使用等等。我們在認(rèn)識其普遍性的同時也需要注意其特殊性,在編寫代碼時多用心留意,以創(chuàng)造更多更優(yōu)質(zhì)的程序代碼。
轉(zhuǎn)載:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608
本文鏈接:http://www.95time.cn/tech/web/2010/7890.asp
出處:ibm
責(zé)任編輯:bluehearts
上一頁 淺談JavaScript編程語言的編碼規(guī)范 [4] 下一頁
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|