Javascript 对象 多个引用
Javascript Object Multiple references
只是一个(希望)快速的问题,以澄清Javascript如何处理对象。我不习惯JS,所以这有点令人惊讶,这就是为什么我想仔细检查!
假设我有一个对象:
function food(price) {
this.price = price || 100;
}
var myFood = new food(100);
然后将此对象存储在两个数组中:
var foo = [];
var bar = [];
foo.push(myFood);
bar.push(myFood);
我在这里所做的只是存储对myFood的引用是否正确?我没有创建对象的副本?因此,如果我说:
foo[0].price = 50;
bar[0].price 也会 == 50,因为它存储了对 myFood 的引用,并且实际上影响了价格的是 myFood,而不是 foo 或 bar?
提前非常感谢!我已经看到一些堆栈溢出线程将此问题作为更广泛帖子的一部分提到,但我只是想将其全部列出以确保!此致敬意
是的,javascript 只会推送引用而不是对象的副本。
你是对的。 但是,只要这样做并看看会发生什么,就非常容易了。
http://jsfiddle.net/67haQ/
您显然已经知道它是如何工作的,稍微玩弄一下确认似乎比 SO 问题更容易。
只是说'
相关文章:
- 引用对象中的通用值
- 使用连字符引用对象的属性名称
- 这在 Object 方法中不引用对象,而是引用函数绑定到的标记
- Javascript对象文字,如何使用“this”来引用对象中的变量
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何在ES6中使用Arrow函数引用对象内部的其他函数
- 调用时可以省略引用对象
- 从函数中引用对象时遇到问题 - Adobe Animate canvas
- 在挖空中引用对象构造函数外部视图模型的属性
- 在 JavaScript 中的回调函数中引用对象
- 从充当事件处理程序的多个方法引用对象属性
- 如何引用对象中的其他节点
- 使用 javascript 通过 ID 正确引用对象
- 使用等效的 Object.indexOf 引用对象中的对象的索引
- Javascript - 事件方法中的引用对象
- 如何避免“this”引用 DOM 元素,并引用对象
- 如何按索引引用对象属性
- 在 AngularJs 中引用对象中的数据
- 如何在没有元素的情况下获取文件引用对象
- 为什么在 JavaScript 中引用对象的不存在属性不会返回引用错误