我编写了一个快速的 jsfiddle 给你,其中我将一个小的 JSON 对象传递给一个新变量,并修改来自原始变量(而不是新变量)的数据,但是新变量的数据也会得到更新。这肯定意味着 JSON 对象是通过引用传递的,对吗?
下面是我的快速代码:
var json_original = {one:'one', two:'two'}
var json_new = json_original;
console.log(json_original); //one, two
console.log(json_new); //one, two
json_original.one = 'two';
json_original.two = 'one';
console.log(json_original); //two, one
console.log(json_new); //two, one
有没有一种方法可以对 JSON 对象进行深度拷贝,这样修改原始变量就不会修改新变量了?