定时器
-----------------------------------------------------------------------------------
开发工具与关键技术:VS.JS作者:纳兹,撰写日期:2019.06.28,源于:老师上课教程
-----------------------------------------------------------------------------------
定时器属于浏览器(BOM)对象。在JavaScript中,可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。一般情况下代码要么是页面执行、要么是文档执行,还有一种情况:当不想通过点击事件和文档加载进行执行,我们可以通过定时器进行执行。定时器有两种类型:一次性定时器(仅在指定的延迟时间之后触发一次。起到延迟触发作用)、间隔性触发定时器(每隔一定的时间间隔就触发一次。连续性的、间隔性的触发)。
两个类型的定时器对应的方法:一次性定时器:setTimeout()(在指定的延迟时间之后来执行代码)、clearTimeout()(取消setTimeout的设置。即清空一次性定时器);间隔性触发定时器:setInterval()(每隔指定的时间执行代码)、clearInterval()(取消setInterval的设置。清空间隔性触发定时器)。
setInterval():在执行时,从载入页面后每隔指定的时间执行代码。setInterval()有两个参数(setInterval(代码,交互时间)):一个是需要输入的代码(要调用的函数或执行的代码串。需要用这个代码去干什么)、一个是交互时间(周期性执行或调用表达式之间的时间间隔(给一个时间间隔),以毫秒计算(1s=1000ms)。需要花多久去执行这个代码),这两个参数是有关联的。和setInterval()相对应的clearInterval()(清空或取消相对应的定时器方法)。例子如下图:首先定义好一个定时器(var intTime = setInterval(clock, 100)),在这个定时器里面调用一个方法,在函数里面获取(当前)时间,并规定时间格式,每隔100毫秒执行一次。取消间隔性定时器setInterval():使用clearInterval()方法取消setInterval()设置的交互时间;语法clearInterval(id_of_setInterval);id_of_setInterval:由setInterval()返回的ID值,点击按钮时取消定时。
setTimeout():在载入延迟指定时间后,去执行一次表达式,仅仅执行一次。setTimeout()跟setInterval()一样都有两个参数,setTimeout()第二个是延迟时间(在执行代码前需等待的时间,以毫秒为单位(1s=1000ms))。可以使用计时器实现间隔时间计算时间时、分、秒数。清除时间:clearTimeout(id_of_setTimeout)。clearTimeout(id_of_setTimeout):由setTimeout()返回的ID值,该值标识要取消的延迟执行代码块。clearTimeout(id_of_setTimeout)只能用于清除setTimeout()。
以上为定时器。