我寫了一個快速jsfiddle here,我將一個小json對象傳遞給一個新變量,並修改原始變量(不是新變量)中的數據,但新變量的數據也被更新。這意味着json對象是通過引用傳遞的,對吧?如何通過引用將JavaScript對象複製到新變量中?
這裏是我的簡單的代碼:
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對象的深層副本,以便修改原始變量不會修改新的變量?
那裏沒有JSON。請不要將JavaScript對象與JSON混淆。 – Quentin
@Quentin,謝謝我將閱讀javacript對象和json之間的區別(參考:http://stackoverflow.com/questions/6489783/whats-the-difference-between-javascript-object-and-json-object ) – Prusprus
不要認爲它是重複的,在其他線程上找不到答案。 – Prusprus