问:1和2中 _checkList数组的值的区别
1.
var _checkList=[];
var _temp = {
'exd_prop_desc': '',
'exd_prop_option_list': []
};
for(var _i = 0; _i <3; _i++) {
_checkList.push_temp;
}
2._checkList=[ {
'exd_prop_desc': '',
'exd_prop_option_list': []
}, {
'exd_prop_desc': '',
'exd_prop_option_list': []
}, {
'exd_prop_desc': '',
'exd_prop_option_list': []
}]
也不行,...temp里的引用还是一个.还是deepClone安全点
1中的_checkList应该是个空数组吧,数组添加元素的方法:
_checkList.push(_temp);
2是1经过遍历添加过后的值
嗯嗯,但是这两个应用的话有很大的区别(不好意思第一个那个是_checkList.push(temp))
我写的时候获得的值感觉没有问题,但是将这两个值和data里面的数组替换后,就差别贼大
没有明白你问题的描述,替换后差别很大是差别在什么地方。
一个是一个引用对象,一个是三个引用对象。
第一种,如果你修改了数组其中一个的值,则三个都变了
所以第一个应该是.push({...temp})