2012-11-15 16 views
0

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

我知道我应该使用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); 

我看到从文件撰写(x)的以下:

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

我看到从的console.log以下的(X)

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

回答

1

对此的回答非常简单:Chrome最小化数组,每个数组都有两个项目。点击它来显示内容。

1

通过我的理解,控制台是基于浏览器的供应商的不同。登录Firefox会产生与Chrome不同的结果。 Document.write是一个Javascript方法,它在所有浏览器中都有一定的实现,如trim()或其他方法。

因为log()用于开发目的,所以数据输出方式无关紧要,只要它对开发人员有用。

相关问题