當(dāng)我把計(jì)時(shí)代碼的setTimeout改成setInterval之后
<!DOCTYPE?html> <html> <head> ??<meta?charset="UTF-8"> ??<meta?name="viewport"?content="width=device-width,?initial-scale=1.0"> ??<meta?http-equiv="X-UA-Compatible"?content="ie=edge"> ??<title>Document</title> </head> <script?type="text/javascript"> ??var?num=0; ??function?numCount(){ ????document.getElementById('txt').value=num; ????num=num+1 ????setTimeout('numCount()',1000) ??} </script> <body> ??<input?type="text"?name="txt"?id="txt"?/> ??<input?type="button"?name="click"?value="start"?onclick="numCount()"?/> </body> </html>
改成setInterval之后:
<!DOCTYPE?html> <html> <head> ??<meta?charset="UTF-8"> ??<meta?name="viewport"?content="width=device-width,?initial-scale=1.0"> ??<meta?http-equiv="X-UA-Compatible"?content="ie=edge"> ??<title>Document</title> </head> <script?type="text/javascript"> ??var?num=0; ??function?numCount(){ ????document.getElementById('txt').value=num; ????num=num+1 ????setInterval('numCount()',1000) ??} </script> <body> ??<input?type="text"?name="txt"?id="txt"?/> ??<input?type="button"?name="click"?value="start"?onclick="numCount()"?/> </body> </html>
執(zhí)行后的結(jié)果是:0,1,3,7,15,31,63...
求解其具體計(jì)算步驟,不理解為什么是這樣的結(jié)果。
希望各位高手指點(diǎn)迷津!
謝謝??!
??吹降母魑唬钣淇?,工作順利!?。?/p>
2016-11-13
setTimeout(‘a(chǎn)s()’,1000)這句代碼意思是延時(shí)1000毫秒后執(zhí)行函數(shù)as(),所以做計(jì)時(shí)器時(shí)要放在函數(shù)as()里面,這樣每隔1000毫秒就調(diào)用他本身as()這個(gè)函數(shù)。如果你放在as()函數(shù)外,他就只執(zhí)行一次,秒數(shù)指加了個(gè)1.
而setInterval(‘a(chǎn)s()’,1000)本身就是每隔1000毫秒調(diào)用as()函數(shù),所以他不用放在as()函數(shù)里面。
2016-11-04
一樓正解
2016-11-02
因?yàn)槟阃瑫r(shí)開了好幾個(gè)計(jì)時(shí)器的原因,你這個(gè)函數(shù)運(yùn)行一次就開一個(gè)新的計(jì)時(shí)器的,第一次 num=0 value=0,num=1;然后調(diào)用,進(jìn)入下一個(gè)函數(shù)(這時(shí)已經(jīng)有兩個(gè)計(jì)數(shù)器在運(yùn)行了)。value=1 ; num=num+1運(yùn)行兩次,num=3;下一秒這兩個(gè)計(jì)數(shù)器又會(huì)再開兩個(gè),就是2的n次方