6.單行的塊結構 if、while、do和for,都是塊結構語句,但是也可以接受單行命令。比如 if (ok) t = true; 甚至寫成 if (ok) t = true; 這樣不利于閱讀代碼,而且將來添加語句時非常容易出錯。建議不管是否只有一行命令,都一律加上大括號。 if (ok){ t = true; }
9.function語句 在Javascript中定義一個函數,有兩種寫法: function foo() { } 和 var foo = function () { } 兩種寫法完全等價。但是在解析的時候,前一種寫法會被解析器自動提升到代碼的頭部,因此違背了函數應該先定義后使用的要求,所以建議定義函數時,全部采用后一種寫法。
var Cat = function (name) { this.name = name; this.saying = 'meow' ; }
然后,再生成一個對象 var myCat = new Cat('mimi'); 這種利用函數生成類、利用new生成對象的語法,其實非常奇怪,一點都不符合直覺。而且,使用的時候,很容易忘記加上new,就會變成執行函數,然后莫名其妙多出幾個全局變量。所以,建議不要這樣創建對象,而采用一種變通方法。 Douglas Crockford給出了一個函數: