var transitionInitial = {property: "none"};
var rules = ["color", "background-color"];
var transitions = [];
for ( var k = 0; k < rules.length; k++)
{
transitions[k] = transitionInitial;
transitions[k].property = rules[k];
alert(transitions[0].property);
}
为什么在第二次迭代中transitions [0] .property等于“background-color”?
最佳答案
因为您存储的是对transitionInitial
的引用,而不是其副本。 transitionInitial
指向内存中的对象,并且您正在transitions[k]
中存储对该对象的引用。无论您处于何种迭代状态,都始终在更改同一对象。