前端复习--理解javascript的执行时序

本文探讨了JavaScript中setTimeout函数的工作原理及其与YieldingProcess的关系,通过对比两种不同的setTimeout链式调用方式来揭示其执行机制。对于深入理解JavaScript异步编程具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解javascript的执行时序,莫过于好好研究setTimeout函数

在《js高级程序设计》P613,给出了一个表现模型,特别实用。

链式调用setTimeout 是setTimeInterval的升级版,理解这个原理,需要时间去思考和感觉,才行

首先确保自己理解基础,简单的东西。

然后再尝试理解Yielding Process

看客可先看看下面两段代码的不同之处

setTimeout(function(){
  var item = array.shift();
  process(item);

  if(array.length > 0){
    setTimeout(arguments.callee, 100)
  }
},100)

  if(array.length > 0){
    setTimeout(function(){
      var item = array.shift();
      process(item);
    }, 100)
  }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值