我正在制作一个小例子来显示JSON(键和值)。当我将JSON复制到另一个变量时,我尝试删除键Age
并重新显示第一个JSON。第一个JSON中的键Age
也被删除了。将对象复制到JavaScript中的另一个对象
$('button').click(function() {
var json = {};
json['Name'] = 'Hermione';
json['Age'] = 19;
for (i in json) {
$('body').append($('<p>').text(i + ': ' + json[i]))
}
var copy = json;
delete copy['Age'];
for (i in json) {
$('body').append($('<p>').text(i + ': ' + json[i]))
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click me</button>
所以,我的问题是:复制对象到另一个对象意味着什么在JavaScript中,对不对?
我认为,因为当我复制它时,它仍然在主版本(json
)上运行,而不是在复制版本上(copy
)。
当你复制= JSON你不是抄袭的对象。你只是为同一个对象创建另一个引用。 – banzomaikaka
为什么您将对象称为“JSON”,这是一种基于字符串的格式,用于在服务器和客户端之间交换信息? –