当你有ng-model
这样的声明时,正确的行为应该是什么?
data-ng-model="elements[0]"
它的工作方式,如果elements
已经在作为数组的作用域中定义,它就像我期望分配数组的第一个元素一样。
但如果未声明elements
,则会指定此值:
elements = {0:'anyvalue'}
(如果我写了data-ng-model="elements['0']"
)
在这种情况下:
elements[0]='anyvalue';
elements['0']='anyvalue';
我无法使用" dot"来阅读自制的价值。符号(elements.0
或elements.'0'
)。
所以它看起来很正确,但有点奇怪。
这种行为是否正确,或者在未定义范围变量时应该实例化数组?
答案 0 :(得分:1)
数组只是一种特殊类型的对象。如果在调试器中查看数组,则所有值都将列为具有数字键的属性,如您显示的那些。如果您不将对象初始化为数组,它仍然会以相同的方式访问对象,这意味着您现在拥有一个带有数字键的对象,而没有来自Array原型的有用函数。