【发布时间】:2017-12-28 07:28:27
【问题描述】:
我有以下脚本,用于生成 2 个不同的数字
<script type="text/javascript">
function GenerateRandomNumber2to6No1() {
var min = 2, max = 7;
var random = Math.floor(Math.random() * (max - min + 1)) + min;
return random;
}
var GenerateRandomNumber2to6No1 = GenerateRandomNumber2to6No1();
$('.GenerateRandomNumber2to6No1').html(GenerateRandomNumber2to6No1);
function GenerateRandomNumber2to6No2() {
var min = 2, max = 7;
var random = Math.floor(Math.random() * (max - min + 1)) + min;
return (random !== GenerateRandomNumber2to6No1) ? random: GenerateRandomNumber2to6No2();
}
var GenerateRandomNumber2to6No2 = GenerateRandomNumber2to6No2();
$('.GenerateRandomNumber2to6No2').html(GenerateRandomNumber2to6No2);
</script>
NUMBER 1: <span class = "GenerateRandomNumber2to6No1"></span>
NUMBER 2: <span class = "GenerateRandomNumber2to6No2"></span>
这通常可以正常工作,但偶尔会加载页面并且不会出现数字。我猜这是GenerateRandomNumber2to6No2 恰好生成与GenerateRandomNumber2to6No1 相同的数字。我以为
return (random !== GenerateRandomNumber2to6No1) ? random: GenerateRandomNumber2to6No2(); 解释了这一点,但可能不是在有冗余时生成另一个唯一编号,而是根本不生成任何编号。是这样吗?如果是这样,我该如何解决这个问题?
谢谢!
【问题讨论】:
-
这是做什么的:
var GenerateRandomNumber2to6No1 = GenerateRandomNumber2to6No1();? -
它将变量
GenerateRandomNumber2to6No1设置为函数GenerateRandomNumber2to6No1()的输出,这样我就可以用它来替换类.GenerateRandomNumber2to6No1的任何元素 -
这个javascript写在head里面的什么地方?单独的js文件?还是在正文标签内?
标签: javascript html random