JavaScript-空数组外部函数

时间:2018-12-15 05:43:18

标签: javascript

我尝试做一个简单的清单,但是当我将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;

}

1 个答案:

答案 0 :(得分:2)

如果将shoppingList数组放入函数内,则每次调用该函数时都会创建一个数组的新副本-空副本,因此每次调用该函数时,它将与新数组。

如果代码数组是全局数组(在函数外部定义),则如代码示例中所示,它将在调用之间保留附加值。