作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
RPGDATA = {
turkey: 'Leg',
chicken: 'Muffin'
}
var tempdata = RPGDATA;
RPGDATA.turkey = 'NoLeg';
console.log(tempdata); // Why is this showing NoLeg? It should be 'Leg'?
console.log(RPGDATA);
在 jsfiddle 上:http://jsfiddle.net/njxd7eLy/1/
当控制台记录临时数据时,它显示应用了更改的新对象的属性?
编辑:查看此处的示例:http://jsfiddle.net/zLeufxfm/旧数据存储在该 tempdata 变量中,但它不是对象?
最佳答案
JavaScript 中的对象是通过引用传递的。如果要独立更改每个对象,则需要克隆该对象。
JSON
对象可以帮助简化这一过程。
http://jsbin.com/sonapebawo/1/edit?js,console
var myObj = {
name: 'bob',
age: '42'
};
var copy = JSON.parse(JSON.stringify(myObj));
myObj.newProp = 'Hello';
copy.otherProp = 'Yo';
console.log(copy, myObj);
一些文档:
关于javascript - 如何将对象存储在临时变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30142478/
我是一名优秀的程序员,十分优秀!