美文网首页IT修真院-前端
【武汉分院168期】js中定时器的用法

【武汉分院168期】js中定时器的用法

作者: 不高兴_d651 | 来源:发表于2017-05-15 15:30 被阅读0次

    定时器用法简介

    一:背景介绍

    在js中,我们会用到两种计时器:第一种是setTimeOut;第二种是setInterval

    二:知识剖析

    1:setTimeout允许设置一个延时对象,一定时间之后执行这个对象,但是只执行一次,不会重复执行

    代码示例如下,该定时器被设置为1000ms,即一秒之后执行一次,并且只执行一次;

    使用方法及格式见下图:

    2、setInternval允许设置一个延时对象,每隔一定时间之后重复执行这个对象,无限循环,直到该定时器被清除,或者页面关闭

    代码示例如下:该定时器会每隔1秒,执行一次该函数,并且循环执行

    三:常见问题

    在js任务一变色九宫格中,可能都遇到过,点击几次之后,变色越来越快的情况?

    这是因为,没有设置清除定时器的语句,每点击一次鼠标,都会触发一个定时器,点击多次之后,浏览器会同时重复好几个循环,自然会越来   越快

    四:清除定时器

    window.clearTimeout(time1)

    window.clearInterval(time1)

    //time1 为之前设置的定时器

    这两种定时器,设置方法有区别,但是清除方法是等效的,就是无论你设置的定时器是哪一种

    都可以使用上边任意一种清除代码清除掉

    五:编码实战

    详见视频

    六:扩展思考

    我们还可以通过定时器的返回值清除定时器

    举例如下:

    function color(){

    //....要执行的代码

    }

    time1=setInterval("color()",1000);

    //此定时器会每一秒重复执行一次函数color()

    time2=setInterval("color()",2000);

    //此定时器会每隔两秒重复执行一次函数color()

    我们可以通过任意一种清除方法来清除定时器

    window.clearTimeout(time1);或者使用window.clearInterval(time1)

    但是,第一个定时器会有一个返回值1,同样第二个定时器也会有一个返回值2

    所以,我们也可以这样清除定时器

    window.clearTimeout(1);

    来清除第一个定时器

    window.clearInterval(2)

    来清除第二个定时器

    七:参考资料

    http://www.cnblogs.com/wangying731/p/5164780.html

    八:深度思考

    在日常工作中,有哪些地方用得到定时器


    JS中定时器的用法_腾讯视频

    ppt链接:
    github.com/ptteng/PPT/blob/master/PPT/js-01-timer.html

    ------------------------------------------------------------------------------------------------------------------------

    技能树.IT修真院

    “我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

    这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !http://www.jnshu.com/login/1/92166011

    相关文章

      网友评论

        本文标题:【武汉分院168期】js中定时器的用法

        本文链接:https://www.haomeiwen.com/subject/oywqxxtx.html