【发布时间】:2014-03-10 18:52:25
【问题描述】:
我创建了一个数组(在 Chrome 的控制台中)
a = [1, 2, 3];
// [1, 2, 3]
然后分配
a[-1] = 123;
// 123
这不会引发任何错误,但结果数组不会改变:
a
// [1, 2, 3]
但我可以成功读取-1 属性:
a[-1]
// 123
索引如何与 Javascript 数组一起使用?为什么它不显示我添加的新值?显然它把它当作财产。为什么?
【问题讨论】:
-
这里是另一个stack overflow question 的链接,其中包含您可能会觉得有用的答案。
-
谢谢。我现在明白了。这种行为在我看来很奇怪。
-
负数组几乎是属性,“在使用点(即 obj.prop)的熟悉的对象表示法背后,JavaScript 实际上是使用 obj['prop'] 中的关联来访问属性。” - htmlgoodies.com/beyond/javascript/… 这是另一个堆栈溢出问题的链接,其中包含您可能会发现有用的答案。
标签: javascript