关于setTimeout和setinterval执行问题
关于setTimeout和setInterval
- setTimeout:在指定的毫秒数后,将定时任务处理的函数添加到执行队列的队尾。
- setInterval:按照指定的周期(以毫秒数计时),将定时任务处理函数添加到执行队列的队尾。
虽然说如过讲setTimeout()时间设置成0,方法也不会立马执行的,看下已下的输出
会发现先输出zhuxing,明明时间设置成0,为什么没有马上执行了?因为javascript是单线程编程,它把任务放到队列中,不会同步去执行,必须在完成一个任务后才开始另外一个任务。setTimeout执行只是把任务放到代码中,没有立马去执行,所以说接下去的代码接着跑,直到js这个任务执行完成,才有可能往下执行。
可以测试下最快执行时间
HTML5标准规定
setTimeout的最短时间间隔是4毫秒;
setInterval的最短间隔时间是10毫秒,也就是说,小于10毫秒的时间间隔会被调整到10毫秒