首页 > 解决方案 > JavaScript 的问题(可能是 Math.floor(Math.random() 或 do-while)

问题描述

下面的代码不起作用:我用括号预览它,它只显示文本的标题 ("JavaScript Math" 和 "Math.floor(Math.random() * 10) + 1) arpoo luvun 1-10 väliltä”)。这里有什么问题?我的浏览器支持 JavaScript,所以这不是问题。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h2>JavaScript Math</h2>
<p>Math.floor(Math.random() * 10) + 1) arpoo luvun 1-10 väliltä</p>
<p id="demo"></p>
<script>
var oikealuku=Math.floor(Math.random() * 10) + 1;
document.getElementById("demo").innerHTML = oikealuku;
var luku=0, i=0;
do
{
    luku=prompt ("Arvaa luku");
     if (i==3)
}
{
alert("Liian monta yritystä");
    break;
}
if(luku == oikealuku)
    alert ("Oikein. Oikea luku oli" +oikealuku);
    exit ();
{
if(luku < oikealuku)
{
alert ("Väärä arvaus! Luku on suurempi kuin" +oikealuku);
}
if (luku > oikealuku)
alert ("Väärä vastaus! Luku on pienempi kuin" +oikealuku);
i++;
}
{
while (luku!=oikealuku)`
alert ("Arvottu luku oli" +oikealuku);
}
}
</script>
</body>
</html>

标签: javascripthtmlmathdo-while

解决方案


JavaScript 代码的语法有几处错误——主要是不匹配/无关的括号和while行上的杂散反引号字符。

修复这些——并重新缩进你的代码以提高可读性——让你得到这个。希望这可以帮助。

var oikealuku = Math.floor(Math.random() * 10) + 1;
document.getElementById("demo").innerHTML = oikealuku;
var luku = 0,
  i = 0;
do {
  luku = prompt("Arvaa luku");
  if (i == 3) {
    alert("Liian monta yritystä");
    break;
  }
  if (luku == oikealuku) {
    alert("Oikein. Oikea luku oli" + oikealuku);
    break;
  } else if (luku < oikealuku) {
    alert("Väärä arvaus! Luku on suurempi kuin" + oikealuku);
  } else if (luku > oikealuku) {
    alert("Väärä vastaus! Luku on pienempi kuin" + oikealuku);
  }
  i++;
} while (luku != oikealuku);
alert("Arvottu luku oli" + oikealuku);


推荐阅读