我试图从我的数组中获取一个随机名称,以便在单击按钮后显示。在控制台中,我得到“Uncaught ReferenceError:arry is not defined”,我认为这是因为arry不是全局变量。我该如何解决这种情况?
var randomName = function() {
arry = ["Kevin", "John", "Mabel", "Lucy", "Isabella", "Ryan", "Clyde"];
var random = arry[Math.round(Math.random() * arry.length)];
return random;
};
// create button
var button = document.createElement("input");
var id = "btn";
button.type = "submit";
button.value = "click me!";
button.setAttribute("id", "btn");
document.body.appendChild(button);
// initialize function
window.onload = function() {
// add event listener
document.getElementById("btn").addEventListener("click", function(e) {
document.getElementById("name").innerHTML = arry[0].random;
console.log("hi");
}
);
};
答案 0 :(得分:2)
更改此行:
document.getElementById("name").innerHTML = arry[0].random;
到此:
document.getElementById("name").innerHTML = randomName();
您创建了函数randomName()
以从数组中获取随机值,您只需要调用它。
arry[0].random;
错误,因为arry[0]
是一个字符串,并且没有名为random
的属性。
答案 1 :(得分:1)
为什么不使用现有的randomName()
功能?
只需更换此行
即可document.getElementById("name").innerHTML = arry[0].random;
与
document.getElementById("name").innerHTML = randomName();