变量声明和赋值可以在一行内完成,但似乎不可能在数组中完成,为什么?
var variable1 = 5; // Works
var array1[0] = 5; // Doesn't work
var array2 = []; // Works
array2[0] = 5;
数组初始化项的形式为:
var a = [5];
当你这样做的时候:
var array1[0]
则解释器看到var
,并期望它后跟一个标识符。但是,由于"["one_answers"]"字符,array1[0]
不是一个有效的标识符。如果是的话,你应该有一个名为array1[0]的变量,它的值为5
。
var array1 = [5];
将array1初始化为具有单个元素的数组文字5.
注意,array1不是一个常量数组,元素可以被压入、读取、修改等。
上面一行与
效果相同var array1 = [];
array1[0] = 5;
你差一点就成功了:
var array2 = [5];
你不能在推入数组时使用var,因为它解释为"array1[0]" -使用不允许的字符,但你也需要先设置数组
var array1 = [];
array1[0] = 5; // Yes it does
console.log(array1);
我猜是因为这是错误的方式。
var array1 = [5];
var array2 = [3,4,5];
是你想要的方式。