昨晚因为一个对象的赋值问题疑惑了很久,今天认真看了下,原来是对象是引用类型,所以我把对象赋值给一个新的对象变量的时候,新的变量和对象都指向同一个内存空间,所以当我改变对象里面的值的时候,新的变量的值也跟着改变了。如果要让变量不受对象改变,就需要把对象深拷贝。
遇到的问题,跟下面这个问题一样
解决的办法有:1.用jquery的extend方法,把对象合并到新的对象去,会返回一个深层次的副本。2.使用JSON的序列化,var b = JSON.stringify(a);
var b = JSON.stringify(a);
underscore的extend和clone似乎不行,underscore也没有cloneDeep的方法
underscore