-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 に答える