关于定时器的重要补充:
定时器包括setTimeout与 setInterval 两个方法 。它们的第二个参数是指定其回调函数推迟/每隔多少毫秒数后执行 。
对于第二个参数有以下需要注意的地方:
当第二个参数缺省时,默认为 0;
当指定的值小于 4 毫秒,则增加到 4ms(4ms 是 html5 标准指定的,对于 2010 年及之前的浏览器则是 10ms);也就是说至少需要4毫秒,该setTimeout()拿到任务队列中 。
例题2$.ajax({url:“xxxxx",success:function (result){console.log("a") }})setTimeout(function (){console.log("b")},100)setTimeout(function (){console.log("c")})console.log("d");
文章插图
ajax加载完成时才会放入异步队列,至于这段时间不确定,所有有两种情况:①大于100ms,最后的结果是 d c b a ;②小于100ms,最后的结果便是d c a b 。
六、题外话如果要输出0~4,上面例题应该如何修改?
- 将var变为let
for (var i = 0; i < 5; i++) {(function(i){setTimeout(function() {console.log(i); }, 1000);})(i)}3.也可以通过这样加闭包
for(var i = 1;i < 5;i++){var a = function(){var j = i;setTimeout(function(){console.log(j);},1000)} a();}
【JavaScript运行机制】
推荐阅读
- 一文看懂USB和雷电接口规范的发展史
- 流浪猫冬天怎么生存 流浪猫活不过冬天
- 小孩床尺寸 一般儿童床的尺寸是多少呢?
- 一文看懂微服务架构之注册中心Consul、Nacos
- 从HTTP到HTTPS,原来这么简单
- Go语言环境安装
- 固态硬盘入门手册|只认识Nvme这一个参数?快来补习一下
- 单位要求都是固定IP,一台电脑设置固定IP以后,居然上不了网
- 郑州|职场权谋丨工作难找,入职时如果听到这几类话,一定要小心!
- 一品官老爷官网礼包 一品官大人礼包兑换码领取