[英]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.