0

我试图了解 JavaScript 中二维数组的来龙去脉。在调试时,我注意到使用 console.log() 和 document.write() 输出时的值有所不同。

我知道我应该使用 console.log(),但似乎我只能让 document.write() 输出我所期望的。

var x = [];
  for (var i = 0; i < 5; i++) {
    x[i] = new Array(1);           
  }
    x[0][0] = "A";
    x[0][1] = "Apple";
    x[1][0] = "B";
    x[1][1] = "Banana";
    x[2][0] = "C";
    x[2][1] = "Cumquats";
    x[3][0] = "D";
    x[3][1] = "Dewberry";
    x[4][0] = "E";
    x[4][1] = "Elderberry";

document.write(x);
console.log(x);

我从document.write(x)看到以下内容:

A,Apple,B,Banana,C,Cumquats,D,Dewberry,E,Elderberry

我从console.log(x)看到以下内容:

[Array[2], Array[2], Array[2], Array[2], Array[2]]
4

2 回答 2

1

据我了解,控制台因浏览器的供应商而异。登录 Firefox 会得到与使用 Chrome 不同的结果。Document.write 是一种 Javascript 方法,它在所有浏览器中都有特定的实现,例如 trim() 或任何其他方法。

因为 log() 用于开发目的,所以数据如何输出并不重要,只要它对开发人员有用。

于 2012-11-15T05:28:48.000 回答
1

答案非常简单:Chrome 将数组最小化,每个数组都是一个包含两个项目的数组。单击它以显示内容。

于 2012-11-15T05:30:55.270 回答