var arr001 = [];
// -----------------------------------------------1
var person = {
value: 1,
label: "1",
};
for( var i = 0; i <= 2; i++ ){
console.log(i)
person.value = i;
person.label = i;
arr001.push(person);
}
console.log(arr001)
var arr001 = [];
// -----------------------------------------------2
for( var i = 0; i <= 2; i++ ){
var person = {
value: i,
label: i,
};
arr001.push(person);
console.log(arr001);
}
1和2 console.log(arr001) 结果并不相同
1结果
2结果
因为第一个的对象声明在全局中,当最后一个循环时,person的值改变了,而第二个是每次都新建一个person