定时器函数的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <p id= "num1" >0</p> <button id= "btn1" >开始</button> <button id= "btn2" >停止</button> <script> var num1 = document.getElementById( 'num1' ); var btn1 = document.getElementById( 'btn1' ); var btn2 = document.getElementById( 'btn2' ); var Onum1 = 0; btn1.onclick = function (){ clearInterval(fun1); fun1 = setInterval( function (){ num1.innerText = ++Onum1; },1000); } btn2.onclick = function (){ clearInterval(fun1); } |
老师我有个疑问,
1 2 3 | fun1 = setInterval( function (){ num1.innerText = ++Onum1; },1000); |
这行代码不是将一个函数封装到一个全局变量中的意思吗?就是个赋值操作,那fun1的函数是怎么被调用执行的呢,这行代码不是之前那种打点调用的语句,有点不理解
12
收起
正在回答
1回答
同学你好,解答如下:
1、fun1=xx是赋值操作,但是,并不是把setInterval这个函数整体赋值给了fun1,而是把setInterval的返回值赋值给了fun1:
2、setInterval是一个比较特殊的函数,它是“定时器”。调用一次后,浏览器就会自动进行连续调用:
这是特殊点,注意一下。
3、如下写法是清空定时器的固定写法,记住即可:
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧