变量不工作(不知道为什么)javascript

变量不工作(不知道为什么)javascript,javascript,Javascript,我需要我的变量打印出来。我不确定为什么会发生这种情况,它是基于我的刽子手游戏中的下划线变量,在snipper HTML的最后部分。更具体地说,就是我下面的部分 //list of words var wordList = ["apple", "peach", "pear", "mango", "banana", "paper", "pens", "laptop", "desk", "chair", "star", "sky", "moon", "sun", "planets"];

我需要我的变量打印出来。我不确定为什么会发生这种情况,它是基于我的刽子手游戏中的下划线变量,在snipper HTML的最后部分。更具体地说,就是我下面的部分

//list of words
        var wordList = ["apple", "peach", "pear", "mango", "banana", "paper", "pens", "laptop", "desk", "chair", "star", "sky", "moon", "sun", "planets"];

    //picking a random word from the list
        var word = wordList[Math.floor(Math.random() * wordList.length)];

function replaceAt(str,index,chr) {
        if(index != -1) {
            str =  str.substr(0,index) + chr + str.substr(index+1);
        }
        return str;
    }

//checking if enter is pressed
    document.addEventListener('keydown', function(event) {                     
        if( event.keyCode == 13 ) {

//checking if letter is in the word
            alert(word);

            alert(underscore + " " + letter + " " + word.indexOf(letter));

            underscore = replaceAt(underscore, word.indexOf(letter * 2), letter);

            context.clearRect(canvas.width * 0.4, canvas.height * 0.3, canvas.width *0.7, canvas.height * 70);
            context.font = '50pt Calibri';
            context.textAlign = 'center';
            context.fillStyle = '#E2E2E3';
            context.fillText(underscore, canvas.width * 0.5, canvas.height * 0.70);


        }
    }); 
我对JavaScript很糟糕,而且是新手。事先谢谢你容忍我的烦恼

/*刽子手游戏CSS文件*/
身体
{
背景色:#1B264F;
}
#主要{
背景色:#5386E4;
高度:97vh;
宽度:95vw;
垂直对齐:中间对齐;
}
帆布{
左侧填充:0;
右边填充:0;
左边距:自动;
右边距:自动;
显示:块;
页边顶部:自动;
页边距底部:自动;
}
/*十六进制配色方案
最浅的蓝色:#5386E4;
中蓝色:274690;
深蓝色:1B264F;
黑色:#070707;
白色:#E2E3;
*/

拉克兰·蒂尔的刽子手
//设置变量
var canvas=document.getElementById('main');
var context=canvas.getContext('2d');
var下划线=”;
var字母;
var complete=false;
//词表
var wordList=[“苹果”、“桃”、“梨”、“芒果”、“香蕉”、“纸”、“笔”、“笔记本”、“桌子”、“椅子”、“星星”、“天空”、“月亮”、“太阳”、“行星”];
//从列表中随机选取一个单词
var word=wordList[Math.floor(Math.random()*wordList.length)];
//打印出字母数的下划线
for(i=0;i如果(event.keyCode>=65&&event.keyCode,则不应在for循环中重新定义下划线变量

别这样

for (i = 0; i < word.length; i++)   {
        var underscore = underscore + "_ ";
    }
for(i=0;i
反而

for (i = 0; i < word.length; i++)   {
        underscore += "_ ";
    }
for(i=0;i
这正是我注意到的最引人注目的事情


将来,在你的问题中加入一个JSFIDLE示例会有所帮助。如果我们能够快速地重新描述你看到的内容,你可以得到更快、更准确的回答。

请…一个独立的小示例(它也有助于隔离问题)…你说//检查单词中是否有字母?
alert(word)是什么意思
无法工作…word没有定义我向@gr3g道歉。我忘了在代码中包含这一点。它实际上是在整个事件中定义的。我已经编辑了代码片段以包含这一点。我完全没有注意到这一点。谢谢您的帮助。