【发布时间】:2020-08-20 05:39:03
【问题描述】:
我正在用 Javascript 制作一个小型 webapp。除了一件可能很简单的事情外,我让所有事情都正常工作。我有 2 个全局变量必须保持全局,因为稍后我必须在其他函数中使用它们:
var staffmembername;
var data = {
"personaldata": [{
"name": staffmembername,
"location": "Iowa"
},
{
"name": "Cynthia",
"location": "California",
}
]
};
“data”数组使用“stafmembername”变量。 'stafmembername' 变量将其值更改为选定的选项值。正如您所看到的,感谢带有警报的测试。数组中的变量似乎仍未定义。
其余代码:
document.getElementById("confirmchoice").onclick = function() {
var e = document.getElementById("staffmember");
pickedname = e.options[e.selectedIndex].text;
document.getElementById("nr1").value = pickedname;
staffmembername = document.getElementById("nr1").value;
alert(staffmembername);
document.getElementById("h3tl").innerHTML = "name:" + data.personaldata[0].name + "<br>"
+ "location: " + data.personaldata[0].location;
}
如果我将变量放在函数中,它就可以工作,但是我的其他函数将无法工作。那么有没有办法在保持两个变量全局的同时更新数组中的变量?
【问题讨论】:
-
你试图引用一个原始值,这是 javascript 不支持的(尽管 ES2015 添加了 getter,这会起作用)。
标签: javascript arrays function variables global