一:定时器是什么
window对象提供了定时器功能,定时器功能是在规定的时间自动执行某个函数。
在浏览器中,window是JavaScript的Global对象(全局对象)。此外,window也表示一个包含DOM文档的浏览器窗口或框架,其中document属性指向浏览器窗口或框架中载入的DOM文档
window有很多属性和方法调用的时候一般可以省略window
根据执行机制,定时器分为间歇定时器和延迟定时器。间歇定时器会以指定的间歇时间作为周期循环不断的执行函数;而延时定时器只是在时间到期时执行一次函数
二:间歇定时器的创建和清除
1:间歇定时器的创建
间歇定时器的创建使用window对象的setinterval()方法
调用格式:【定时器对象ID】= setinterval(函数调用|函数定义,毫秒);
语法说明:setinterval主要包含俩个参数
第一个参数就是定时器需要执行的函数,该参数可以是一个函数名表示的函数调用语句,也可以时一个函数定义语句
第二个参数表示参数指定操作所需等待的毫秒数
2:间歇定时器的清除
通过定时器返回的id,使用clearinterval()方法可以清除定时器
二:延迟定时器的创建和清除
1:延迟定时器的创建
延迟定时器的创建使用window对象setTimeout()方法创建
延时定时器的创建格式:
【定时器对象id】= setTimeout(调用函数|函数定义毫秒);
主要包含俩个参数,第一个参数就是定时器需要定时执行的函数,该参数可以是一个函数名表示的函数调用语句,也可以是一个函数定义语句;第二个参数是一个单位为毫秒的数值(表示执行第一个参数指定操作需要的等待时间)
setTimeout()在指定时间到达后值执行一次操作
2:清除定时器
使用clearTimeout(定时器对象id)来清除定时器
三:使用定时器需要注意几点
1:若在创建定时器时没有名字,则定时器无法清除
2:定时器定义在全局对象window上,内部函数this指向的window
3:setInterval里面传递的毫秒数指挥在第一次的时候识别,之后不可以修改
4:setinterval,setTimeout是异步任务