js对象与数组

var element0 = ['0','0'];
var element1 = ['1','1'];
var col0 = [element0,element0];
var col1 = [element1,element1];
var Arr = [col0 ,col1];

alert(Arr[0][0][0]);  //结果是 0
//改变它的值
Arr[0][0][0] = 1;
//改变的element0[0]的值
这个时候col0中的element0全部跟着变
Arr中共有两个元素的值会改变
Arr = [[['1','0' ],['1','0' ]],[['1','1' ],['1','1' ]]];

而如果是
var Arr = [[['0','0' ],['0','0' ]],[['1','1' ],['1','1' ]]];
Arr[0][0][0] = 1;
//Arr变成
Arr = [[['1','0' ],['0','0' ]],[['1','1' ],['1','1' ]]];

这是因为js在处理上是把Arr[0][0]当成一个对象来处理,当这个对象的属性改变时,其他被包含的对象的属性也会跟着改变

你可能感兴趣的:(js,js,js对象,js数组)