为什么1 在javascript中未定义?
数字1隐式地投射到空数组?
> a = 1[1] undefined > console.log(a) undefined undefined
数字1隐式地投射到空数组?
不可以。数字值被隐含(暂时)转换为数字对象,并且该对象上的属性1
被访问。
您正在使用的括号表示法 ( [1]
)不是特定于数组的, 每个对象属性都可以通过括号表示法来访问。 即以下两个是等价的: obj.foo
(点符号)和obj['foo']
(括号符号)。
然而,Number对象没有属性1
并且访问不存在的属性返回undefined
:
var numObj = new Number(1); console.log(numObj[1]);