在我开展项目时,我遇到了这段代码:
var params = JSON.parse(JSON.stringify(defaultParams));
这段代码实际上做了什么吗?
答案 0 :(得分:8)
这是一种克隆对象的方法,因此您可以获得一个唯一但与克隆对象具有相同属性的完整副本。
var defaultParams = { a : 'b' };
var params = JSON.parse(JSON.stringify(defaultParams));
console.log( params.a ); // b
console.log( defaultParams.a ); // b
console.log( params === defaultParams ); // false
以上输出false
,因为即使两个对象都具有a
属性,值为b
,也有不同的对象相互独立(它们不会相同)。 t参考相同的参考文献)。
JSON方法仅适用于基本属性 - 没有函数或方法。
答案 1 :(得分:1)
您可以断开两个数组之间的连接。
例如:
const bulkAssignTreeView = JSON.stringify(this.bulkAssignTreeViewData);
this.bulkAssignTreeViewData = JSON.parse(bulkAssignTreeView);