javascript数组对象

Sak*_*ONE 5 javascript

http://jsfiddle.net/gfuKS/5/

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);
}?
Run Code Online (Sandbox Code Playgroud)

为什么在第二次迭代过渡[0] .property等于"背景颜色"?

ubi*_*bik 10

因为您要存储引用transitionInitial,而不是它的副本.transitionInitial指向内存中的对象,并且您正在存储对此对象的引用transitions[k].无论您处于何种迭代状态,您始终都在更改同一个对象.