问答详情
源自:6-2 完美运动框架

为什么flag怎么会变成true?

flag在setInterval外面定义成true,这个局部一旦变成false 怎么可能再变换成true呢?


提问者:jellen 2015-12-29 10:37

个回答

  • 狸木南
    2016-02-09 22:15:11

    老师的代码好像有点问题,你要不把flag放setInterval里面,要不就

    if(flag){

    clearInterval(obj.timer);

    if(fn){

    fn();

     }

    }else{

    flag=true;

    }


  • 土爷
    2016-01-09 17:39:52

    因为flag是全局变量,定时函数内没有定义这个变量,所以每30毫秒执行一次代码都需要重新读取函数外的flag变量,该变量的默认值是true。只有当条件成立时,即其中一个当前值不等于目标值时,才会变成false。变量作用域的知识再去了解一下,就会懂了。

  • 狂飙的蜗牛_1
    2015-12-29 10:46:26


    想让它变为false只能flag=false,!flag只是代表了false