繁体   English   中英

通过函数将多个数组项添加到全局数组

[英]Adding multiple array items to a global array from a function

/ *问题1:似乎我在范围方面有问题。 我的目标是将提示的响应推送到数组中,而不将变量保留在函数内,作用域阻止变量进行通信(或至少看起来是这样。)这还防止getElementById显示为常量而不被变量调用。功能。

问题2:当所有变量都放在本地时,提示符将替换其在数组中的前一项,使其仅是可添加的一项,想知道是否有人对如何添加越来越多提出建议。

HTML:

<p id = "coding"></p>
<button onclick="addTo()">Add</button>
New Quality
<br><br>
<button onclick="noMas()">Delete</button>
Remove Quality

JS:

function addTo(){
var progQual = ["Creative"," "+"Original"+" "+"Innovative", ];
addQuality = prompt("Add Another Quality");
addQuality = progQual.push(" "+addQuality);
document.getElementById("coding").innerHTML = progQual;

function noMas(){progQual.shift(progQual);}
};

在这一点上有点难过:(

首先,为您的按钮分配ID并删除onclick属性:

<p id = "coding"></p>
<button id="btn-add">Add</button>
New Quality
<br><br>
<button id="btn-delete">Delete</button>
Remove Quality

在您的JS中,将代码隔离在一个自调用的anonymos函数中,并在回调的父作用域中定义progEqual。 使用addEventListener来添加侦听器。

(function() { //Isolate scope
  /*
   * Define array in parent scope of callbacks to gain access to 
   * same referemce in both callbacks
   */
  var progQual = ["Creative"," "+"Original"+" "+"Innovative"];

  document.getElementById("btn-add").addEventListener("click", function() {
    // Add logic
  });

  document.getElementById("btn-delete").addEventListener("click", function() {
    //Delete logic
  });

}());

有关更多信息,请从Scotch.io中搜索Java范围,例如本教程-了解Java范围

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM