Javascript数组传输,但值不是

时间:2012-07-18 15:09:55

标签: javascript

我有一个功能quickbuy_view.checkout() 它接受product个对象。 我用

调用函数
quickbuy_view.checkout(new Product(12530257))

这是出现错误的代码的一部分

console.log('quickbuy_view')
console.log(quickbuy_view)
console.log('quickbuy_view.product')
console.log(quickbuy_view.product)
console.log('quickbuy_view.product.displays');
console.log(quickbuy_view.product.displays);

var display = quickbuy_view.product.displays[0];
//This is where the actual error occurs
$('#quickbuy .display .main img').attr('src',display.vw1Reg)

在chrome的控制台中,我可以看到quickbuy_view.product返回一个长度为3的displays数组的对象。但是当我尝试记录quickbuy_view.product.displays时,会返回一个空数组。

奇怪的是,当我稍后输入quickbuy_view.product.displays时,我按预期得到了数组。

Console view

1 个答案:

答案 0 :(得分:2)

这是因为Chrome Dev Tools console.log的工作方式。当你记录一个它仍然存在的对象时,它就不是它当前状态的快照商店。但是,当您记录基元时,它是属性的当前状态。

因此,在记录代码之后正在设置displays数组,但是当您检查product属性时,它是“实时”的,因此在展开代码之前它不会更新。