【九宫格闪烁重复 _控制流程语句 】 | IT修真院·坑乎
问题已收录 九宫格闪烁重复
我也踩过这个坑( 2 )
已统计您的踩坑,无需重复点击
回答(2)
控制流程语句
详细描述
截图
代码
编辑于2024-11-23
  • [上海|]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