页面提示跳转倒数问题


http://img.mukewang.com/57b4415f0001ca9308230324.jpg

请教大神,为什么倒数是5,4,3,1,-3的

homboy
浏览 1225回答 1
1回答

stone310

因为你的计时器重复了,没有停止,逐个分析一下一开始:num=5,调用setTimerout第1次显示 : num=4 ,判断——调用setInterval(第一次调用)第2次显示:num=3,判断——调用setInterval(第二次调用),调用了2次了,下一次num就直接跳2次,即执行2次num-1第3次显示:num=1,判断——调用setInterval(第三次调用),调用了3次了,下一次num就直接跳3次,即执行3次num-1第4次显示:num=0!(这里会显示num=0,然后执行,只是太快了你看不见,你可以将执行代码改成alert("123")试试),因为执行num跳3次,其中第一次执行完num就会等于0然后判断num==0,不调用计时器,执行程序,这时候计时器还是被调用了3次,继续!下一次num还是跳3次第5次显示:num=-3..............无限循环。其实问题很简单就是加上clearInterval, 但执行的时候可能会没有发现其实有第4步,也就是计时器叠加执行的原理
打开App,查看更多内容
随时随地看视频慕课网APP