变量声明和赋值可以在一行内完成,但似乎不可能对数组做什么,为什么?
var variable1 = 5; // Works
var array1[0] = 5; // Doesn't work
var array2 = []; // Works
array2[0] = 5;
答案 0 :(得分:2)
array initialiser的格式为:
var a = [5];
当你这样做时:
var array1[0]
然后解释器看到var
并期望它后跟一个标识符。但是,array1[0]
不是有效的标识符,因为" ["和"]"字符。如果是,您将拥有一个名为 array1 [0] 的变量,其值为5
。
答案 1 :(得分:1)
var array1 = [5];
将array1初始化为具有单个元素5的数组文字。
请注意,array1不是常量数组,可以推送,读取,更改元素等。
上述行与
具有相同的效果var array1 = [];
array1[0] = 5;
答案 2 :(得分:1)
你几乎拥有它:
var array2 = [5];
答案 3 :(得分:0)
你可以在推送到数组时使用var,因为它解释为" array1 [0]" - 使用不允许的字符,但您还需要先设置数组
var array1 = [];
array1[0] = 5; // Yes it does
console.log(array1);
答案 4 :(得分:0)
因为它只是错误的方式,我想。
var array1 = [5];
var array2 = [3,4,5];
是你想要的方式。