我有一个功能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
时,我按预期得到了数组。
答案 0 :(得分:2)
这是因为Chrome Dev Tools console.log
的工作方式。当你记录一个它仍然存在的对象时,它就不是它当前状态的快照商店。但是,当您记录基元时,它是属性的当前状态。
因此,在记录代码之后正在设置displays
数组,但是当您检查product
属性时,它是“实时”的,因此在展开代码之前它不会更新。