如何在javascript中循环一个随机数

如何在javascript中循环一个随机数,javascript,function,loops,random,Javascript,Function,Loops,Random,当我尝试循环某些函数时,它会卡在randomvariable()上, 如果我不需要每次刷新页面,随机数如何在循环中工作 函数随机变量(){ randomvariable=Math.floor(Math.random()*21); document.getElementById(“demo”).innerHTML=randomvariable; } 函数启动函数(){ var计数=0; 同时(计数

当我尝试循环某些函数时,它会卡在randomvariable()上, 如果我不需要每次刷新页面,随机数如何在循环中工作

函数随机变量(){
randomvariable=Math.floor(Math.random()*21);
document.getElementById(“demo”).innerHTML=randomvariable;
}
函数启动函数(){
var计数=0;
同时(计数<10){
随机变量();
计数++;
}
}
启动函数()

您正在重新定义
randomvariable
,请使用
var
或调用其他变量

function randomvariable() {
    var randomvariable = Math.floor(Math.random() * 21);
    document.getElementById("demo").innerHTML = randomvariable;
}

尽管请注意,在定义变量时应始终使用
var
关键字,但在第二个示例中省略了该关键字,以说明仅调整变量名如何解决此问题

注意:

  • 声明一个没有
    var
    的变量将使其在非严格模式下成为全局变量。这就是在函数内部使用
    var
    将起作用的原因
  • 对函数和变量使用相同的变量名会使代码混乱,并降低可读性。使用更好的命名约定

您正在将
randomvariable
函数的属性更改为具有全局范围的变量,因此,当输入randomvariable函数的流发生更改时,该属性会报告错误消息。如果您使用
var
变量将在您所在的范围内声明(例如函数的范围)

我修改了代码以显示随机数

函数随机变量(){
var randomvariable=Math.floor(Math.random()*21);
document.getElementById(“demo”).innerHTML+=randomvariable+“-”;
}
函数启动函数(){
var计数=0;
同时(计数<10){
随机变量();
计数++;
}
}


很可能是错误,因为未声明
随机变量
。@Sid*为redeclared@Sid在中声明的及其被重写的function@zexurity请增加一个检查控制台是否有错误的习惯。@Rajesh所说的。。。随机变量定义为全局范围内的函数,在函数中,你引用同一个函数,并将值更改为随机值。它在开始时工作正常,然后对我造成了问题其他函数的问题我自己学习javascript,所以当我遇到错误时,我没有什么困难当我将它改为非全局时,随机值正常工作,但下一个函数有分数公式,我在警报中收到NAN,当我在没有var的情况下工作时,它会正常工作
function randomvariable() {
    mynum = Math.floor(Math.random() * 21);
    document.getElementById("demo").innerHTML = mynum;
}