定时器

1,setTimeout(间隔延迟时间运行 以后不会运行)

1)全局作用域(window)下的内置函数

定时器_第1张图片
图片.png

2)返回值:
setTimeout(function,dely),定时器的编号
3)运行机制--异步

 console.log("strat....");
 setTimeout("console.log("1")",1000);
 console.log("end....");
 //输出:
            start....
            end....
            1

第一个参数是字符串、函数名、匿名函数
总结运行机制:
例子一:

 setTimeout("console.log("1")",0);
 一大段代码需要运行1000ms

原理:1000ms后一大段代码运行完成,立马输出1
例子二:

 setTimeout("console.log("1")",1000);
一大段代码需要运行1000ms

原理:1000ms后一大段代码运行完成,立马输出1
例子三:

 setTimeout("console.log("1")",1000);
一大段代码需要运行2000ms

原理:2000ms后一大段代码运行完成,立马输出1

执行到setTimeout,把执行函数放到队列里面,后面的所有代码放到队列里面,执行后面的所有代码,当后面的所有代码都执行完成后如果时间已经到了,立马输出setTimeout的函数的结果。

注意:延迟时间只是一个近似的时间,如:
延迟0ms :10ms后执行
延迟9ms :10ms后执行
延迟11ms:20ms后执行
4)函数使用的特点
正确写法:
setTimeout(fn,1000);//直接是函数的名称没有括号,1000毫秒后执行
setTimeout(fn(),1000);//fn()是函数执行,这里读到fn()时,会立即执行函数

2,setInterval(间隔设置时间运行,再过延迟时间运行)

定时器_第2张图片
图片.png

你可能感兴趣的:(定时器)