-1

在我的程序中,我在顶部有全局变量,供游戏中的各种函数使用。有时调用它们时,它们在控制台中显示为未定义。我已经玩了很长时间,但似乎找不到问题的根源。是因为它们是数组,还是有其他原因?

var randomWord = [];
var listOfWords = [];
var gridSize = [];
var populationNumber = [];
var completionNumber = [];
var attemptNumber = [];

这是一个与脚本中的小提琴......

http://jsfiddle.net/sYDs4/1/

4

1 回答 1

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

于 2012-11-22T16:53:51.213 回答