發(fā)現(xiàn)一個(gè)錯(cuò)誤,變量flag放置位置的問(wèn)題,不是很懂
老師是把變量直接放置在了function start(obj,json,fn){????的下方
而我運(yùn)行
oLi.onmouseover = function(){
start(oLi,{width:400,height:200,opacity:100},function(){
start(oLi,{opacity:30},function(){
start(oLi,{width:200,height:100})
})
})
}
這段代碼的時(shí)候,發(fā)現(xiàn)透明度沒(méi)變化
然后我把var flag = true; 放置到了for in 上方 定時(shí)器下第一個(gè)
就可以正常運(yùn)行了
但我不太明白是什么原因,可否解釋的明白一點(diǎn)
老師寫在function start(obj,json,fn)這個(gè)函數(shù)的局部?jī)?nèi)不是都應(yīng)該有效嗎
2016-05-16
我試過(guò)把var flag = true;?放置到for in 上方和放在function start(obj,json,fn)這個(gè)函數(shù)的局部?jī)?nèi)都是可行的。
兩者的區(qū)別是:前者是在setInterval( ? ,30)內(nèi),所以相當(dāng)于每30ml對(duì)flag 賦一次 true;?
后者的var flag = true; 相當(dāng)于是“全局變量”,在setInterval( ? ,30)內(nèi)當(dāng)然可以使用flag,更可以改變flag.
2016-05-14
我對(duì)著flag判斷不等于那塊不明白,你明白嗎