访问数字类型的未定义属性

时间:2016-04-01 22:54:18

标签: javascript

我注意到我可以访问数字类型的任意属性而不会产生错误(至少在chrome中):

123[1]    //undefined

我必须确定数组的当前项是否是另一个数组或数字,这将派上用场。这种行为在所有JS引擎中是否可靠,或者是否有可能在某处产生错误?

2 个答案:

答案 0 :(得分:2)

  

我必须确定数组的当前项是否是另一个数组或数字......

您无法使用!isNaN(value) || Array.isArray(value)

  

这会派上用场。

我真的不这么认为。

  

这种行为在所有JS引擎中都是可靠的......

是的,it's defined in the Property Accessors part of the ECMAScript spec

  

或者是否有可能在某处产生错误?

只要值不是nullundefined,您就可以使用[]语法来访问对象的属性。从数字调用函数是很常见的,但是使用小数点看起来很奇怪:

100..toString() //'100'

答案 1 :(得分:1)

要检查Javascript中项目的类型,请不要冒险并使用typeof,确定对象类型的最佳方法

http://javascript.info/tutorial/type-detection