-
[上海|]JS-0
if else if 是判断。else if也就执行多重检查而已。if生效时候 else if就不会执行了。
while(one==two||two==three||one==three){ one = Math.floor(Math.random() * list.length); two = Math.floor(Math.random() * list.length); three = Math.floor(Math.random() * list.length);}试试
编辑于2018-10-19 -
[上海|荣耀师兄]JS-郭巍0
if 只是判断语句,不是循环语句,判断到1个条件成立后,其后的代码则不会再执行。你这里使用了if和else if,如果第一个条件判断成立,则执行第一条if代码块内的代码,如果不成立继续执行第二条else if,条件成立则执行,如果第二条仍然不成立,执行第三条else if。 所以这段代码只会执行其中第一条判断成立的一段,其后的则不会再执行,或者全部判断不成立,所有的代码都不会执行。
你想要达成生成的随机数重复时,继续循环生成随机数的效果,应该使用while循环
while (one == two || two == three || three==one) {
one = Math.floor(Math.random() * list.length);
two = Math.floor(Math.random() * list.length);
three = Math.floor(Math.random() * list.length);
}
while 语句属于前测试循环语句,在开始循环前就会对出口条件求值,如果条件不成立,循环体内的代码则不会执行,如果条件成立,则会一直循环下去,知道条件不成立时停止循环。
while (one == two || two == three || three==one) 这里使用了 || 逻辑或操作符,其中有一个条件成立,整个表达式的结果都会成立,然后执行循体内的代码,直到条件不成立时,停止循环。
编辑于2018-10-19
- 去第 页