8、定时器的使用

2023-07-11 09:09:2503:46 2397
所属专辑:javascript面试题
声音简介

定时器 用于在设定的时间执行一段代码,或者在给定的时间间隔内重复该代码。
       通过使用函数setTimeout,setInterval和clearInterval来完成。
setTimeout(function,delay)函数用于 给定时间后开始执行该函数。
setInterval(function,delay)函数用于 使用给定时间的频率去执行函数。
clearInterval(id)函数指示定时器停止。就是setInterval调用时返回一个id,可以使用此id关闭定时器
1、 在setInterval和setTimeout中传入函数时,函数中的this会指向window对象。
在某个对象的方法内部,有一个方法,方法的内部是这样的
     setTimeout( function(){console.log(this);}, 1000 )
此时的this指向的就是window而不是方法所属的对象。
2、 但是在setTimeout中传入的不是函数时,this则指向当前对象。
        在某个对象的方法内部,有一个方法,对象本书有一个变量num    setTimeout(console.log(this.num), 1000)


当在setTimeout中传入了一个函数,若想要让this指向正确的值,可以使用以下 两种比较常用的方法来使this指向正确的值:

1.这种方法是将当前对象(this)的引用放在一个变量里,定时器内部的函数 来访问到这个变量,自然就可以得到当前的对象。
    function Obj (){
var that = this; //将this存为一个变量,此时的this指向obj
this.num = 1,
this.getNumLater = function(){
setTimeout(function(){
  console.log(that.num); //利用闭包访问that,that是一个指向obj的指针
}, 1000)
}


2.利用bind()方法
setTimeout(function(){
console.log(this.num);
}.bind(this), 1000) //利用bind()将this绑定到这个函数上
}

用户评论

表情0/300
音频列表
猜你喜欢
WAVES效果器使用教程

讲师介绍顾颂职业音乐制作人音乐讲师从业15年,参与制作、混音、编曲的歌曲超过1000首擅长多种曲风2021年入驻抖音平台现有线上学员500+课程介绍课程大...

by:易知课堂

AU使用

小白的AU使用心得

by:三千花语

定时发布的专辑

一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一

by:Stray_猫来来第二次

自家使用

个人使用!禁转载!

by:TL大白白_SU

pia戏~不定时快乐屋

这是一个新成立的有声绺子,这里有一群有趣的家伙各个都身怀绝技。今天是他们的pia戏过程……

by:麻匪张十一

AU使用教程

AU后期教程,本套课程内容跟免费更新,帮助大家解决在录音及后期制作和学习的过程中所遇到的问题,我们将大家想知道的问题、还有能帮助大家在制作后期过程之中的一些好用...

by:一只河蟹_绘声剧社

医疗器械临床使用管理办法

《医疗器械临床使用管理办法》于2021年3月1日起施行。

by:器械人

医锦同心不定时更新

简介:穿成农门妇,苏锦从惶恐不甘中渐渐平静下来,决心与便宜丈夫好好过曰子,却发现这个便宜丈夫有点怪怪的。重生后的秦朗满心困惑,他的这位媳妇不是对他即厌且惧吗...

by:树梢上的云_yzq