位置: 编程技术 - 正文

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内存条)

  • 减免的企业所得税计入什么科目
  • 个人企业征收什么税
  • 个人所得税计提分录怎么写
  • 增值税报表解读
  • 以不动产投资入股增值税
  • 收到红字信息表不能直接开具
  • 往来票据怎么填写
  • 原材料作废品处理方法
  • 高薪技术企业研发人员人数
  • 应收代位追偿款有没有明细科目
  • 固定资产暂估入账的账务处理
  • 补入库存商品的会计分录
  • 京东企业提现
  • 土地款抵扣增值税申报
  • 制造企业搬运系统设计重组带来新活力
  • 固定资产未验收投入使用
  • 营改增后房地产企业增值税税收筹划存在问题
  • 营改增后餐饮业税率
  • 不需要缴纳企业所得税的企业类型
  • 增值税专用发票几个点
  • 营改增后房地产公司税种及税率
  • 园林绿化公司前景如何
  • 交税四舍五入差额怎么处理
  • 商业承兑汇票风险
  • 银行余额不平怎么快速找原因
  • 什么发票可以抵成本
  • 应收款项核销的原因
  • 长期借款的核算思维导图
  • 移动操作系统有哪些主要特点和功能
  • plugin.exe是什么进程
  • 公允价值计量模式与账面价值计量模式的区别与联系
  • 笔记本电池消耗大怎么办
  • 土地增值税的收费标准
  • 往来款项账务处理
  • 高温费做账
  • 约克大教堂是基督教吗
  • 灵活就业养老保险退休后每月领多少钱
  • 公允价值变动损益在利润表哪里
  • 差额征税专用发票税额怎么算
  • php弹出登录框
  • vue安装使用
  • 爱心代码图
  • maven jni
  • 买税盘的会计分录
  • python脚本例子
  • css中权重值是什么意思
  • 对公帐户进出帐要交税吗
  • 招待费住宿费专票
  • 存货跌价准备的结转会计分录
  • ❤️国庆假期快到了,用python写个倒计时程序,助你熬到假期!❤️
  • 建筑工程承包合同
  • 会展服务打印费怎么算
  • 商誉在资产负债表中如何体现
  • 坏账准备的账务处理
  • 开农贸市场拿补贴找哪个部门
  • 企业所得税税前扣除项目有哪些
  • 职工福利费无发放原因
  • 在胖东来买到过期的食品
  • 专用发票与普通发票图片
  • 金税盘初始化密码
  • 汇算清缴帐务处理
  • 个人独资企业核定征收取消了吗
  • 登记银行存款日记账的实训心得
  • 如何查看网络连接密码
  • 电脑开机一直显示windowsxp
  • ubuntu20.04快捷键
  • linux创建目录函数
  • node解析前端formdata数据
  • nodejs做接口
  • tomcat怎么启动
  • Cocos2dx CCLabelAtlas字体与CCLabelTTF字体的使用方法
  • nginx与php
  • hadoop运行python程序
  • python获取数据的方法
  • jqueryui draggable
  • 好看的手写字纯文字
  • javascript面向对象编程指南 pdf
  • 深圳纳税信息查询
  • 为什么阿里会放弃dubbo?
  • 我国国家宪法日是每年的十二月几日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设