var array = new Array(3);
var array1 = [undefined, undefined, undefined];
console.log(array); //[]
console.log(array1); //[undefined, undefined, undefined]
console.log(array.toString()); //,,
console.log(array1.toString()); //,,
array.forEach(function(item){console.log(item)}); //nothing output
array1.forEach(function(item){console.log(item)}); //undefined 3 times
for (i=0;i<array.length;i++){console.log(array[i])} //undefined 3 times
for (i=0;i<array1.length;i++){console.log(array1[i])} //undefined 3 times
for (i in array){console.log(array[i])} //onthing output
for (i in array1){console.log(array1[i])} //undefined 3 times
多谢解答
new Array(3) 等价于下面的定义
var array2 = [];
array2.length = 3;
菜鸟也来答一答
1,首先undefined是javascript中得一种类型.
var array1=[undefined, undefined, undefined];
var array1=[1, 1, 1];
是一样的表示array1中都有3个元素。
而var array=new Array(3);只是创建了一个length为3的数组但是里面为空。
2,来看forEach方法
3,再来看看for in方法
//先吃饭