2009年5月20日 星期三

JSLint建議使用[]取代new Array()的原因

最近想要查詢一下 Javascript 的語句寫法,查看一下一些平常我沒有接觸過的內容。


不經意地發現了 JSLint 這個網站,它有一項線上檢驗語法寫的好壞的功能,有興趣的朋友可以試試看,


結果是....我被踐踏的體無完膚啊~~~跟標準還有一段差距!囧


雖然寫出來的程式能夠正確執行,但是卻不是使用標準寫法,這讓我有點對自己生氣。


後來查看了一下它有一個專門介紹 JS的撰寫慣例,居然看到了一項我覺得很意外的事情,


使用中括號([])取代使用直接宣告一個Array


老實說,一開始我一直想不通,後來看了Yahoo! group Stoyan的講解,想一想還蠻有道理的。


由於 Javascript 算是直譯式的語言,所以通常有些語法是到了執行時才會發生錯誤。


Stoyan提到使用new Array可能會發生的問題,例如:


var a = new Array(5.2) //陣列不允許小數點的錯誤


var a = new Array(3)    //這三個值都是undefined


或是輸入了一大堆的亂碼,而使用[]就可以避免掉上述的一些問題,其實際寫法如下:


var a = [1,3,5];

沒有留言:

張貼留言