只是一个(希望如此)快速的问题,以澄清 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 ALSO == 50,因为它存储了对 myFood 的引用,并且实际上影响其价格的是 myFood,而不是 foo 或 bar?
提前谢谢了!我已经看到一些堆栈溢出线程在更广泛的帖子中提到了这个问题,但我只是想把它全部放在那里以确保!此致