//浅拷贝,拷贝内存块,拷贝部门代码不共存var obj = { a : "a", b : "b", c : { text : "这是一个文本" }}var copy = obj;copy.a = "copy";console.log(obj.a)// "copy",可以看到这里的浅拷贝,会修改到原先的数据,因为浅拷贝是拷贝同一块内存块//es6有Object.assign()方法用于深度拷贝,不过只是一级深度拷贝var obj = { a : "a", b : "b", c : { text : "这是一个文本" }}var assigncopy = Object.assign({}, obj);assigncopy.a="assigncopy";assigncopy.c.text = "assigncopytext";console.log(obj.a) // "a"console.log(obj.c.text) // "assigncopytext", 说明只是一级深度拷贝而已,用时要小心//深度拷贝对象,一般都能满足var obj = { a : "a", b : "b", c : { text : "这是一个文本" }}var stringcopy = JSON.parse(JSON.stringify(obj));stringcopy.c.text = "stringcopytext";console.log(obj.c.text);//"这是一个文本"