flag = false 是什么時(shí)候被重置為true的?
照著視頻的代碼實(shí)踐了一次,發(fā)現(xiàn)沒有把flag重置為true的代碼,但是最后確確實(shí)實(shí)是清除了定時(shí)器,那么,flag是什么時(shí)候被重置的呢?
另外,看到有人回答,flag應(yīng)該被聲明在定時(shí)器里面,這個(gè)是不對的。如果聲明在定時(shí)器里面,那么就會(huì)出現(xiàn)視頻中聲明flag之前的bug。
求大神解答一下。
上面的問題好像有點(diǎn)不清晰哈,下面說清楚一點(diǎn)。
flag=true是放在定時(shí)器外面的,對吧?定時(shí)器里面是沒有代碼把flag重置為true的,當(dāng)?shù)谝淮未a執(zhí)行到
if(icur!=json[attr]){ ????flag=false; }
這里的時(shí)候,flag就被賦值為false了,之后都沒有給flag賦值為true。
那么最后是怎么判斷到flag=true的呢?
在這里就很不明白,因?yàn)闆]有把flag重置為true的話,其實(shí)是沒辦法執(zhí)行
if(flag){ ????clearInterval(obj.timer); ????if(fn){ ????????fn(); ?????} ?}
和之后的fn函數(shù)的。
2017-03-26
。。。。。好像看錯(cuò)問題,你忽略我的回答吧
2017-03-26
當(dāng)最后一個(gè)目標(biāo)完成后,因?yàn)閟etInterval,會(huì)重新初始化flag為true