在閱讀此http://www.html5rocks.com/en/tutorials/speed/v8/時,有必要在運行時更改變量類型,以使瀏覽器比保持一致時更努力地工作。Javascript聲明變量 - 最佳做法
這是否意味着這不是一個好主意:
var x = {
alpha: null,
bravo: null,
charlie: null,
delta: null,
echo: null
}
x.alpha = {a:1, b:true}
x.bravo = 13
x.charlie = true
x.delta = [1,2,3]
x.echo = 'abc'
因爲這裏的類型開始爲空,然後得到了改變反對,整型,布爾arrary。
並且爲了簡單起見,事後這些類型從不改變。
或者,這是更有效的:
var x = {
alpha: {},
bravo: 0,
charlie: false,
delta: [],
echo: ''
}
x.alpha = {a:1, b:true}
x.bravo = 13
x.charlie = true
x.delta = [1,2,3]
x.echo = 'abc'
我能理解改變類型比如從一數到一個數組是不是一個好主意。如何在執行期間從null更改爲類型一次?
我讀過的書籍和博客大多數都會說,只有在運行時才知道這些值,才能用null定義變量(而不是未定義)。在面值時,這看起來是錯誤的,因爲用它們的空類型定義避免了類型變化。
空是對象類型 –
這是很好的,因爲它是一個更容易檢查,如果事情是零,而不是{} –
其實你無法對證{},那麼你可以,但你總是會得到錯誤的,因爲即時創建新對象,例如{} === {}的計算結果爲false。 –