回覆列表
-
1 # 你永遠追不上的巨人
-
2 # 使用者5916393697425
舉個簡單例子,希望你能明白,
1、下面輸出結果是"jim",而不是"tom",
是因為陣列中儲存的都是指向json物件a的地址,
dd[0],dd[1],dd[2],dd[3]物件指向的記憶體地址相同,
當修改其中一個dd[0]的屬性值的時候,陣列所有元素指向的物件屬性值都改變了。
var dd = [];
var a = { "cname": "tom" };
for (var i = 0; i
dd[i] =a;
}
dd[0].cname = "jim";
alert(dd[2].cname);
2、下面輸出結果是0,而不是1,
是因為陣列元素dd[0],dd[1],dd[2],dd[3]對應的記憶體地址都不同,互不干擾。
var dd = [];
var a = 0;
for (var i = 0; i
dd[i] =a;
}
dd[0]=1;
alert(dd[2]);
舉個簡單例子,希望你能明白,
1、下面輸出結果是"jim",而不是"tom",是因為陣列中儲存的都是指向json物件a的地址,dd[0],dd[1],dd[2],dd[3]物件指向的記憶體地址相同,當修改其中一個dd[0]的屬性值的時候,陣列所有元素指向的物件屬性值都改變了。