我注意到我可以访问数字类型的任意属性而不会产生错误(至少在chrome中):
123[1] //undefined
我必须确定数组的当前项是否是另一个数组或数字,这将派上用场。这种行为在所有JS引擎中是否可靠,或者是否有可能在某处产生错误?
答案 0 :(得分:2)
我必须确定数组的当前项是否是另一个数组或数字......
您无法使用!isNaN(value) || Array.isArray(value)
?
这会派上用场。
我真的不这么认为。
这种行为在所有JS引擎中都是可靠的......
是的,it's defined in the Property Accessors part of the ECMAScript spec。
或者是否有可能在某处产生错误?
只要值不是null
或undefined
,您就可以使用[]
语法来访问对象的属性。从数字调用函数是很常见的,但是使用小数点看起来很奇怪:
100..toString() //'100'
答案 1 :(得分:1)
要检查Javascript中项目的类型,请不要冒险并使用typeof
,确定对象类型的最佳方法