第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于 聲明變量var timer =null 的位置問題

function?stateMove(iTarget){
			var?oDiv=document.getElementById('div1');
			var?timer=null;
			var?speed=0;
			if(oDiv.offsetLeft>iTarget){
				speed=-10;
			}else{
				speed=10;
			}
			clearInterval(timer);
			timer=setInterval(function(){				
				if(oDiv.offsetLeft==iTarget){
					clearInterval(timer);
				}else{
					oDiv.style.left=oDiv.offsetLeft+speed+'px';
				}
				
			},30);

		}

代碼中 聲明var timer = null ? 必須放在stateMove() 函數(shù)之外嗎? ? 放在如上代碼在函數(shù)內部聲明會出現(xiàn)bug ?這是什么原因? ?必須得放在函數(shù)外邊聲明嗎?謝謝!


正在回答

1 回答

將timer變量放在了startMove方法里面,相當于每點擊一次按鈕,就會執(zhí)行一次startMove方法,生成了一個閉包,因此創(chuàng)建了一個局部timer,每一個閉包當中的timer并不會共享,所以當?shù)诙位蛞陨险{用startMove時并不會關閉timer。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于 聲明變量var timer =null 的位置問題

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號