課程
/前端開發
/JavaScript
/JS動畫效果
flag在setInterval外面定義成true,這個局部一旦變成false 怎么可能再變換成true呢?
2015-12-29
源自:JS動畫效果 6-2
正在回答
老師的代碼好像有點問題,你要不把flag放setInterval里面,要不就
if(flag){
clearInterval(obj.timer);
if(fn){
fn();
?}
}else{
flag=true;
}
因為flag是全局變量,定時函數內沒有定義這個變量,所以每30毫秒執行一次代碼都需要重新讀取函數外的flag變量,該變量的默認值是true。只有當條件成立時,即其中一個當前值不等于目標值時,才會變成false。變量作用域的知識再去了解一下,就會懂了。
土爺
想讓它變為false只能flag=false,!flag只是代表了false
舉報
通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝
1 回答flag是怎么變成true的??
7 回答老師flag的定義會不會有錯,flag變FALSE 就在變不回TRUE了
1 回答if (flag)?v這個是什么意思,不是應該寫成if(flag==true)嗎?
12 回答flag = false 是什么時候被重置為true的?
1 回答flag=true?fn();
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-02-09
老師的代碼好像有點問題,你要不把flag放setInterval里面,要不就
if(flag){
clearInterval(obj.timer);
if(fn){
fn();
?}
}else{
flag=true;
}
2016-01-09
因為flag是全局變量,定時函數內沒有定義這個變量,所以每30毫秒執行一次代碼都需要重新讀取函數外的flag變量,該變量的默認值是true。只有當條件成立時,即其中一個當前值不等于目標值時,才會變成false。變量作用域的知識再去了解一下,就會懂了。
2015-12-29