[英]Populating an array outside a function doesn't work
以下是无效示例:
var array_one = [];
array_one=['a','b','c'];
在任何函数外部声明和填充数组均无效,但是
var array_one = [];
function do_something(){
array_one=['a','b','c'];
}
这样做,因为它在函数内部。 为什么?
您在这里执行的不是初始化,而是成员查找。 该表达式被解析为array_one[<member name>]
。 在这种情况下,member_name是通过评估'a', 'b', 'c'
。 这使用逗号运算符,因此将按顺序评估3个表达式,并且表达式的结果是最终表达式: 'c'
。 这意味着您的代码正在有效地执行以下操作
array_one['c'];
听起来就像您想要的是
array_one = ['a', 'b', 'c'];
array_one['a','b','b']
不是填充数组的语法-我不太确定其实际作用。
如果执行array_one = ['a','b','c']
则用新数组替换变量。 (此数组与填充数组之间的区别在于,对先前数组的其他引用仍将具有旧值。)
要将值添加到数组,请使用array_one.push('a')
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.