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