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

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

把Timeout改為Interval,神奇現(xiàn)象:1 2 4 8數(shù)字極快速度翻倍地跳

setlnterval()本來就是隔一段時間運行一次,setTimeout()放在函數(shù)里也實現(xiàn)了無限循環(huán)的功能,前者更簡單點啊,實際運用setInterval之后發(fā)現(xiàn)數(shù)字跳動是:1,2,4,8,16,32...還不是一秒一次而是超級快,一會兒瀏覽器就爆炸了,有大神說這是什么setInterval的累積效應(yīng),百度看不懂。下面代碼是把例題中的Timeout改為了Interval,就出現(xiàn)了上面說的神奇現(xiàn)象。

<!DOCTYPE?HTML>
<html>
<head>
<script?type="text/javascript">
var?num=0;
function?numCount(){
?document.getElementById('txt').value=num;
?num=num+1;
?setInterval("numCount()",1000);
?}
</script>
</head>
<body>
<form>
<input?type="text"?id="txt"?/>
<input?type="button"?value="Start"?onClick="numCount()"?/>
</form>
</body>
</html>


正在回答

1 回答

這個其實也很好理解的,點擊開始按鈕執(zhí)行numCount()函數(shù)會立刻綁定一個計時器,計時器1秒后執(zhí)行numCount()函數(shù)又會綁定一個計時器,也就是說1秒鐘之后會有兩個計時器,2秒鐘是4個,每隔1秒計時器翻倍8,16,32...。每個計時器每隔1秒都會執(zhí)行numCount()函數(shù),同時也會使num值加1,num值也會越增越快,計時器有多少每次num值就增加多少,所以文本框中顯示的就是1,1+2,1+2+4,1+2+4+8,1+2+4+8+16...

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

寶慕林5689754 提問者

為什么改成Timeout就是正常的,不出現(xiàn)這個現(xiàn)象呢?
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#2

寶慕林5689754 提問者

為什么Interval會出現(xiàn)這個現(xiàn)象,Timeou就不會,他們在什么特性上的區(qū)別導(dǎo)致的?
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#3

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

setTimeout(fun,1000)是1秒鐘后執(zhí)行,只執(zhí)行一次,setInterval(fun,1000)是每隔1秒執(zhí)行一次,會一直執(zhí)行下去
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

寶慕林5689754 提問者

1秒鐘之后會有兩個計時器,2秒鐘是4個,每隔1秒計時器翻倍8,16,32...。這句看不懂,明明是一秒出現(xiàn)一個,怎么會翻倍地出現(xiàn)
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#5

寶慕林5689754 提問者

Timeou怎么就不出現(xiàn)這個出現(xiàn)上面這個神奇現(xiàn)象
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#6

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

setTimeout()執(zhí)行完一次之后就會被清除掉,后面之所以會一直執(zhí)行,是因為setTimeout()執(zhí)行的函數(shù)又綁定了一個計時器,就是每隔1秒重新綁定一個計時器,之前的計時器清除,setInterval()執(zhí)行完之后計時器會一直存在
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#7

寶慕林5689754 提問者 回復(fù) 你又調(diào)皮

setTimeout(fun,1000)是1秒鐘后執(zhí)行,只執(zhí)行一次,setInterval(fun,1000)是每隔1秒執(zhí)行一次,會一直執(zhí)行下去,前后半句話都一個意思啊,一秒一次
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#8

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

setInterva()執(zhí)行完函數(shù)之后會綁定一個計時器,此時兩個計時器都會存在的,兩個計時器1秒鐘之后再執(zhí)行函數(shù),都會再綁定一個計時器,這時就是4個計時器了,這4個計時器1秒鐘之后執(zhí)行函數(shù)又都會綁定1個計時器,然后就是8個了,之后16,32,64...
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#9

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

不是一個意思,setTimeout()只會執(zhí)行一次,就是1秒鐘之后執(zhí)行函數(shù)(執(zhí)行完之后就不存在這個計時器了),然后重新綁定一個計時器,同一時間只會存在1個計時器,num值每次只會+1
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#10

寶慕林5689754 提問者 回復(fù) 你又調(diào)皮

我懂了!可以理解為Timeout執(zhí)行完一次后,這個計時器就死亡了,下個計時器再出生,Interval出現(xiàn)一個計時器后,即使到了下一秒,上一個計時器還存在,他跟他后面的計時器一起都讓num+1,不管過了多少秒,之前的計時器永生不滅,而且每個計時器都會生出一個孩子,一直跟著后面的計時器一直存在著
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#11

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

恩,是這樣的
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#12

寶慕林5689754 提問者 回復(fù) 你又調(diào)皮

師傅 收了徒兒吧 (緊緊地抱住師傅粗壯的長滿黑毛的大腿)
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#13

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

我也是菜鳥一個
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#14

寶慕林5689754 提問者 回復(fù) 你又調(diào)皮

老哥,其中一個變量添加屬性和方法,另一個也會改變;但是如果給其中一個變量重新賦值就不會影響另一個了,那個問題也是你幫我解答的,留個家庭住址唄
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#15

你又調(diào)皮 回復(fù) 寶慕林5689754 提問者

恩 私信你了
2019-08-29 回復(fù) 有任何疑惑可以回復(fù)我~
#16

qq_精慕門3321009 回復(fù) 你又調(diào)皮

666666666666666666666666666
2020-03-03 回復(fù) 有任何疑惑可以回復(fù)我~
查看13條回復(fù)

舉報

0/150
提交
取消

把Timeout改為Interval,神奇現(xiàn)象:1 2 4 8數(shù)字極快速度翻倍地跳

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號