我發現我可以訪問數字類型的任意屬性不(至少在鉻)產生誤差:存取未定義屬性
123[1] //undefined
我必須確定數組的當前項是另一個陣列或一個數字,這會派上用場。這種行爲在所有JS引擎中都是可靠的,還是有可能會在某處產生錯誤?
我發現我可以訪問數字類型的任意屬性不(至少在鉻)產生誤差:存取未定義屬性
123[1] //undefined
我必須確定數組的當前項是另一個陣列或一個數字,這會派上用場。這種行爲在所有JS引擎中都是可靠的,還是有可能會在某處產生錯誤?
我必須確定一個數組的當前項目是另一個數組或數...
,你不能使用!isNaN(value) || Array.isArray(value)
?
這會派上用場。
我真的不認爲會這樣。
這種行爲在所有的JS引擎可靠...
是的,it's defined in the Property Accessors part of the ECMAScript spec。
或者是否有可能會在某處產生錯誤?
只要值不是null
或undefined
可以使用[]
語法對象的訪問屬性。這是常見的,從號碼的通話功能,但帶有小數點它看起來怪異:
100..toString() //'100'
要檢查在Javascript中的項目的類型,不要冒險和使用typeof
,確定對象類型的最佳途徑
您可以訪問Javascript中任何對象的不存在的屬性。 – Barmar
應該可以工作,它基本上與'123 ['0']'或'(123).someNonExistentProperty'相同。如果該值爲'null'或'undefined',它將不起作用。 –
等一段時間你必須編輯這段代碼,你會得到「我在這裏想要的」wtf的感覺。讓你的代碼可讀,不要依賴副作用或黑客... – Pevara