在我的程序中,我在顶部有全局变量,用于游戏中的各种功能。当它们被调用时,它们有时会在控制台中显示为未定义。我一直玩这么久,但似乎无法找到问题的根源。是因为它们是数组,还是有其他原因?
var randomWord = [];
var listOfWords = [];
var gridSize = [];
var populationNumber = [];
var completionNumber = [];
var attemptNumber = [];
这是...中的脚本的小提琴。
答案 0 :(得分:1)
以下是一些不适合评论的评论......
if (populationNumber >= 6) {
var populationNumber = 6;
}
if (completionNumber >= 6) {
var completionNumber = 6;
}
不应该在JS中完成,因为您创建一个与全局变量同名的局部变量,这很危险。甚至没有提到你为一个应该是数组的变量(全局数字)分配一个数字。
function nextButton() {
//Next question click event
$('td').removeClass('highlight-problem');
var r = randomWord;
while (r == randomWord) {
randomWord = Math.floor(Math.random() * (listOfWords.length));
}
这会为randomWord
指定一个数字,该数字在其他地方用作数组,但在此函数中作为数字。 closeButton
函数也是如此。