当我尝试代码时,对于键变量说“未定义”。我认为它不是全局的,即使我没有把它放在一个函数中。 有人知道如何解决这个问题吗?非常感谢帮助。
<html>
<head>
<script>
var key = Math.floor(Math.random() * 27 + 96);
function lespres(event) {
var p = 0;
document.getElementById('pedonummer').innerHTML = "random getal" + key;
var x = event.which;
document.getElementById('teest').innerHTML = "KEY PRESSED: " + x;
if(x == key) {
var p = p + 1;
document.getElementById('punten').innerHTML = p + "points";
var key = Math.floor(Math.random() * 27 + 96);
}
}
</script>
</head>
</html>
答案 0 :(得分:3)
您已使用var
声明了两个名为key
的变量。
在<script>
之后定义的那个在函数内部被document.getElementById('punten').innerHTML = p + "points";
答案 1 :(得分:0)
你有双重定义。一个是全球性的,另一个是本地的。
您必须从本地关键字中删除var
关键字。
<html>
<head>
<script>
var key = Math.floor(Math.random() * 27 + 96);
function lespres(event) {
var p = 0;
document.getElementById('pedonummer').innerHTML = "random getal" + key;
var x = event.which;
document.getElementById('teest').innerHTML = "KEY PRESSED: " + x;
if(x == key) {
var p = p + 1;
document.getElementById('punten').innerHTML = p + "points";
key = Math.floor(Math.random() * 27 + 96); // HERE
}
}
</script>
</head>
</html>