【发布时间】:2020-11-03 18:27:27
【问题描述】:
每次单击按钮时,我都会尝试更新对象内 num 的值。但是我无法让它工作。每次单击时,我都会将对象打印到控制台,以便查看值是否更新,但没有更新。这是我的代码...任何帮助将不胜感激。谢谢!
const addToCart = document.getElementById('addToCart')
addToCart.addEventListener('click', function(option) {
option.preventDefault();
let num = 0
let cartObject = {
name: jsonResponse.name,
price: jsonResponse.price,
option: select.value,
optionQuantity: num
}
num++
console.log(cartObject)
});
【问题讨论】:
-
只需将
let num = 0行移到函数之外.. 在addToCart.addEventListener之前 -
每次单击该按钮时都会运行整个函数。这包括您声明
num的行。它被声明,初始化为0,然后在对象创建中使用。然后将其增加一(但是,cartObject.optionQuantity仍将为零)。在 console.log 行之后,num和cartObject都不再存在。在下一次点击时,这一切都会再次发生,就像第一次一样,不会对该函数之外的任何东西产生任何后果。
标签: javascript function object addeventlistener