数组声明&作业(JavaScript)

时间:2014-05-22 02:13:37

标签: javascript arrays variable-assignment variable-declaration

变量声明和赋值可以在一行内完成,但似乎不可能对数组做什么,为什么?

var variable1 = 5;  // Works

var array1[0] = 5;  // Doesn't work

var array2 = [];    // Works
array2[0] = 5;

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];

是你想要的方式。