问答详情
源自:8-6 取消计时器clearTimeout()

关于多次点击start按钮后,数字飙升的问题分析

关于多次点击start按钮后,数字飙升的问题分析: 因为num变量处于函数体外部,为全局变量。理解指针的同学应该知道,当多次点击start按钮的时候,计数器+1之后的结果最终都是指向同一个固定的内存地址。所以多次点击,即多次执行startCount()函数时,操作的指针都是同一个,也就是变量num。因此每点击一次start按钮,操作该指针的函数就+1,页面上的数字飙升速度就提高一倍。 解决方案:监测点击事件,如果是用户点击则num归零,如果是函数内部定时器则不处理,比如最顶上那个同学的方法。

提问者:天地不仁_以_万物为刍狗 2017-09-15 11:11

个回答

  • 慕慕8881611
    2017-09-18 16:36:29

    顶上去,让大神解答。

  • 逸云飘雨
    2017-09-18 09:42:06

    。。。。