js在涉及对象和DOM节点的赋值操作时执行的是潜复制, 我们来看下什么叫潜复制:
function foo(){ this.bar = "baz"; } var foo1 = new foo(); var foo2 = foo1; console.log(foo1.bar); //bar console.log(foo2.bar); //bar foo1.bar = "qux"; console.log(foo1.bar); //qux console.log(foo2.bar); //qux //上面的修改foo1就会修改foo2 //有时候,我们希望复制的时候,重新创建一个新的对象 var foo3 = new foo(); var foo4 = dojo.clone(foo3); foo3.bar = "abc"; console.log(foo3.bar); //abc console.log(foo4.bar); //baz