位置: 编程技术 - 正文

setTimeout和setInterval的深入理解(settimeout和setinterval在安卓机无效)

编辑:rootadmin
大概半年前发表过一篇关于setTimeout和setInterval的文章,但是现在回去仔细一看发现其实存在很多不足以及错误。事实上,setTimeout和setInterval并没有我们字面上理解的那么简单。要真正掌握并理解这两个方法,还得从javascript的单线程机制说起。 【开门见山】setTimeout和setInterval是如何工作的呢? 我们知道,js是单线程执行的。所以其实setTimeout和setInterval所谓的“异步调用”事实上是通过将代码段插入到代码的执行队列中实现的。 而如何计算插入的时间点呢?自然是要用到我们所说的timer,也就是计时器。当执行setTimeout和setInterval的时候,timer会根据你设定的时间“准确”地找到代码的插入点。当队列“正常”地执行到插入点时,就触发timer callback,也就是我们设定的回调函数: 上面这个例子就是我们通常的用法,应该容易理解。可是,timer真的能那么准确么?代码队列的执行真的能那么正常么? 【斩草除根】重新认识所谓的“异步” 刚刚已经知道,事实上setTimeout和setInterval只是简简单单地通过插入代码到代码队列来实现代码的延迟执行(或者说异步执行)。但是事实上所谓的异步只是一个假象——它同样运行在一个线程上! 那么问题就来了,要是在代码插入点前的代码执行时间超过了传入setTimeout或setInterval的设定时间会怎样呢?让我们来看看这段代码: 你觉得这段代码的执行结果是什么呢?答案是,alert永远不会出现。 这是为什么呢?因为,while这段代码没有执行完,插入在后面的代码便永远不会执行。 综上所述,其实JS终归是单线程产物。无论如何“异步”都不可能突破单线程这个障碍。所以许多的“异步调用”(包括Ajax)事实上也只是“伪异步”而已。只要理解了这么一个概念,也许理解setTimeout和setInterval也就不难了。

推荐整理分享setTimeout和setInterval的深入理解(settimeout和setinterval在安卓机无效),希望有所帮助,仅作参考,欢迎阅读内容。

setTimeout和setInterval的深入理解(settimeout和setinterval在安卓机无效)

文章相关热门搜索词:settimeout和setinterval在用法上的区别,settimeout和setinterval谁快,setTimeout和setInterval,settimeout和setinterval谁快,settimeout和setinterval在用法上的区别,setTimeout和setInterval的区别,setTimeout和setInterval的区别,setTimeout和setInterval的区别,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript内存管理详细解析 介绍低层次的语言,如C,具有低级别的内存管理命令,如:malloc()和free(),需要开发者手工释放内存。然而像javascript这样的高级语言情况则不同,对象

JavaScript对内存分配及管理机制详细解析 你可能听说过JAVA、.NET、PHP这些语言有垃圾回收的内存管理机制,但是很少会听到JavaScript也有自己的内存管理机制,JavaScript同样有着类似的垃圾回收功

javascript中怎么做对象的类型判断 最近在翻看JohnResig的大作《ProJavaScriptTechniques》,里面讲到了如何做javascript的类型判断的问题。文中介绍了两种方式,一种是使用typeof,另一种是使用co

标签: settimeout和setinterval在安卓机无效

本文链接地址:https://www.jiuchutong.com/biancheng/376097.html 转载请保留说明!

上一篇:JavaScript中this的使用详解(javascript中的this属性)

下一篇:javascript内存管理详细解析(js内存条)

  • 增值税减免税申报明细表免税代码和名称
  • 购买方已抵扣怎么作废
  • 预计所有者权益怎么计算
  • 半成品算原材料吗
  • 转登记为小规模纳税人政策
  • 以股抵债的会计分录
  • 二手车增值税发票怎么开
  • 合并报表长期股权投资怎么算
  • 职工福利费税前扣除限额
  • 企业收到投资款怎么处理
  • 个人借款无法收回确认坏账账务处理
  • 小规模纳税人公司注销流程及费用
  • 小规模季度不超过多少不用交税
  • 认缴制下股权转让如何不交税
  • 国家税务总局关于取消增值税扣税凭证
  • 纳税义务发生时间和纳税期限的关系
  • 为什么预计负债是递延所得税资产
  • 转出多交增值税会计科目
  • 外来原始凭证是指企业财会部门从外部购入的原始凭证
  • 基建项目税率
  • 代销商品和代销商品款
  • 收到利息收入会计分录怎么写
  • 商业汇票收款到什么账户
  • 腾讯电脑管家怎么修复dll
  • 基准收益率是
  • 预付账款是企业销售过程中形成的一种非货币形式的债权
  • 王者荣耀中程咬金的克星是谁
  • 税务实名认证是不是就是税务登记
  • php7 数组
  • 滞纳金和罚金计入哪个会计科目
  • 带息应收票据的核算
  • low是什么文件
  • 可抵扣的费用
  • 在校学生是不是纳税人,请举例说明
  • 财务管理中成本控制的原则
  • php结果以什么形式返回
  • 存货捐赠视同销售的会计分录怎么做?
  • 个人独资企业法律责任
  • vue清空form数据再重新赋值
  • 没有关系怎么表达
  • 无标题节啥意思
  • 城建税减半征收会计分录
  • 制造业属不属于第二产业
  • 开红字信息表后的账务处理
  • 任意盈余公积金怎么计算
  • 存货的期末余额是账面余额吗
  • 购买加油卡走哪个平台好
  • 企业对外借款计入什么科目
  • 研发支出是
  • 小额贷款在银行需要什么条件
  • 收到暂估跨年发票怎么办
  • 投资主体将其拥有的货币或产业资本
  • 盘亏机器设备
  • 固定资产竣工前予以资本化吗
  • 委托生产产品
  • 小规模纳税人增值税账务处理
  • 固定资产折旧计算表模板
  • 职工薪酬怎么核算
  • 销售部购买电脑一台分录
  • 年报中的认缴出资时间怎么填
  • 原始凭证的会计分录
  • sql数据库批量添加数据
  • win7旗舰版系统怎么样
  • 预装win8的华硕s200开箱
  • winmgm32.exe - winmgm32 是什么进程
  • Win10年度更新(RS1)怎么样升级?升级方法一览
  • linux中who命令
  • win7桌面图标靠右
  • linux云端服务器
  • JavaScript中的NaN代表什么
  • 学习计划
  • shell for awk
  • 手机gpu过度绘制
  • Linux文本处理工具的实验总结
  • jquery移动div到另一个div中
  • js鼠标滚动控制图片缩放
  • 怎么在移动官网上复机
  • 陕西税务电子税务局官网安装
  • 江苏单位医保如何查询
  • 粮食部门是不是国家机关
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设