我发现我可以访问数字类型的任意属性不(至少在铬)产生误差:存取未定义属性
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