我尝试做一个简单的清单,但是当我将let shoppingList = [];
放在addItem()
函数中时,它不起作用。为什么会这样?
let shoppingList = [];
function addItem() {
let Item = document.getElementById("item").value;
let output = document.getElementById("output");
let html = '';
if (shoppingList.indexOf(Item) === -1) {
shoppingList.push(Item);
}
for (var x = 0; x < shoppingList.length; x++) {
html += (x + 1) + ". " + shoppingList[x] + "<br>";
}
output.innerHTML = html;
}
答案 0 :(得分:2)
如果将shoppingList
数组放入函数内,则每次调用该函数时都会创建一个数组的新副本-空副本,因此每次调用该函数时,它将与新数组。
如果代码数组是全局数组(在函数外部定义),则如代码示例中所示,它将在调用之间保留附加值。