問題描述:
最終原因是賦值的對象未定義。例如下面的代碼會報錯。
var family_list = new Array();
…… family_list[family_list.length] = {}; family_list[family_list.length].name = "張三";
原因是第二行定義下標family_list.length的元素為對象后,family_list.length的值已經+1。這樣下一行代碼的賦值會因為該元素為定義而報錯。
修改為下面代碼后就不會報錯。
var family_list = new Array(); …… var list_size = family_list.length; family_list[list_size] = {}; family_list[list_size].name = "張三";