1、js中数据可变状态
概念:
js中的对象一般是可变的,由于使用了引用赋值,新的对象简单的引用了原始的对象,改变的新对象将影响到原始对
象。
例如:
1
2
3
4
foo = {a:1};
bar = foo;
bar.a = 2;
console.log(foor.a); //输出2
优缺点:
优点:节约内存
缺点:当应用复杂后,会造成非常大的隐患
解决办法:
shallowCopy(浅拷贝),deepCopy(深拷贝)
两种方法可将对象置为不可变对象,但同时也造成cpu和内存的浪费