【以下内容为自己的理解,如有不同观点,请留言指导,感谢】
作用:让js脚本暂停一定时间,进入休眠状态。
说明:js本身提供没有sleep()。
举例:js可以通过很多方法实现,如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>sleep案例</title> </head> <body> <script> window.onload = function () { // 第一种实现方法 // function sleep(numberMillis) { // var now = new Date(); // var exitTime = now.getTime() + numberMillis; // while (true) { // now = new Date(); // if (now.getTime() > exitTime){ // break; // } // } // } // 第二种实现方法 function sleep(numberMillis) { var start = new Date().getTime(); while (true) { if (new Date().getTime() - start > numberMillis) { break; } } } sleep(3000) alert("停顿了3秒钟") } </script> </body> </html>
原理:实际上,该例子不是使js脚本进入休眠,而是因为js是单线程,while(true){}死循环调度cpu,使得whlie(){}后面的程序被阻塞,进而实现休眠的假象。