当前位置: 首页 > news >正文

宣传型网站搭建本地wordpress

宣传型网站,搭建本地wordpress,建筑设计图片,企业网站建设内容报价宏任务和微任务 JS为微任务和宏任务简单介绍任务执行顺序例子任务执行顺序简单例子 关于new Promise实例化过程的例子 JS为微任务和宏任务简单介绍 js是单线程的#xff0c;但是分同步异步微任务和宏任务皆为异步任务#xff0c;它们都属于一个队列宏任务一般是#xff1a;… 宏任务和微任务 JS为微任务和宏任务简单介绍任务执行顺序例子任务执行顺序简单例子 关于new Promise实例化过程的例子 JS为微任务和宏任务简单介绍 js是单线程的但是分同步异步微任务和宏任务皆为异步任务它们都属于一个队列宏任务一般是script、setTimeout、setInterval、postMessage微任务Promise.then ES6先执行同步再执行异步异步遇到微任务先执行微任务执行完后如果没有微任务就执行下一个宏任务如果有微任务就按顺序一个一个执行微任务 任务执行顺序 同步任务 —— 异步任务中微任务 —— 异步任务中宏任务 任务执行顺序例子 function doFoo(fn) {this.code 404;fn(); }function f() {setTimeout(() {console.log( this); // [object window]语句3this.code 401; // 语句4}, 0)console.log( this.code ); // 404语句2 }let obj {code: 200,foo: f };var code 500;doFoo( obj.foo ); // 语句1 setTimeout((){console.log(obj.code)}, 0); // 200语句5 setTimeout((){console.log(window.code)}, 0); // 401语句6分析 按照先同步再异步的顺序从上往下编译执行第一个执行doF( obj.foo )任务,将obj.foo作为参数传入到函数doFoo当中此时作为调用者的对象还是windowdoFoo函数中this.code 404;将window对象下的code值修改为404之后doFoo函数继续调用 f() 函数f()函数中的setTimeout()是宏任务先放入宏任务列表里不执行反而直接执行后面的 console.log( this.code ); 此时调用该函数的对象还是window所以打印出404继续接下来的任务将两个setTimeout()都放入宏任务列表执行第一个放入的setTimeout()任务执行其中this.code401,将window对象下的code的值又修改为401执行第二个放入的setTimeout()任务执行console.log(obj.code)整个过程中obj对象的code一直没被修改所以还是200执行第三个放入的setTimeout()任务执行console.log(window.code),打印出401 任务执行顺序简单例子 console.log(1) setTimeout(function() {console.log(2) }, 0) const p new Promise((resolve, reject) {resolve(4) }) p.then(data {console.log(data) }) console.log(3) //1342分析 先同步再异步从上往下编译执行首先遇到同步任务console.log(1);输出1接着遇到setTimeout 异步宏任务放入宏任务队列中接着遇到 Promisenew Promise在实例化的过程中所执行的代码都是同步进行的但由于new Promise没有输出事件所以无事发生。接着遇到.thenthen是异步微任务,不执行加入到异步微任务列表遇到同步任务console.log(3);输出3主线程中同步任务执行完从微任务队列中取出任务到主线程中先取出作为微任务的.thenp.then 输出4,微任务执行完毕微任务队列为空开始执行宏任务setTimeout 输出2,宏任务队列为空 重点注意new Promise在实例化的过程中所执行的代码都是同步进行的 关于new Promise实例化过程的例子 console.log(1) setTimeout(function() {console.log(2)new Promise(function(resolve) {console.log(3)resolve()}).then(function() {console.log(4)}) })new Promise(function(resolve) {console.log(5)resolve() }).then(function() {console.log(6) })setTimeout(function() {console.log(7)new Promise(function(resolve) {console.log(8)resolve()}).then(function() {console.log(9)}) }) console.log(10) //15106234789 分析 先同步再异步从上往下编译执行首先遇到同步任务console.log(1);输出1遇到setTimeout 异步宏任务放入宏任务队列中遇到 Promisenew Promise在实例化的过程中所执行的代码都是同步进行的所以输出5所以接着遇到.then.then异步微任务,被分发到微任务Event Queue中遇到setTimeout异步宏任务;放入宏任务队列中遇到同步任务console.log(10);输出10,主线程中同步任务全部执行完;同步任务全部执行完从微任务队列中取出任务到主线程中输出6在从宏任务队列中取出任务到主线程中执行第一个setTimeout输出234在宏任务中执行同步,同步异步微任务;在执行第二个setTimeout输出789和8同理
http://www.hkea.cn/news/14534713/

相关文章:

  • 建设校园网站的必要性微博指数查询入口
  • 九江开发区建设规划局网站wordpress客户端源码
  • 企业网站管理系统 源码广州住房和城乡建设局官网
  • 公司网站空间要多大wordpress free template
  • 深圳电商网站电商平台投诉
  • 江阴公司企业网站建设网站排名提升易下拉教程
  • 网站的内容与功能设计苏州书生商友专业做网站
  • 重庆网站建设重庆零臻科技价做商城网站会不会被攻击
  • 网站制作哪些类型北京市网站设计
  • 静态网站 源码如何通过网站获取qq
  • 深圳网站建设优化排名济南做网站哪里便宜
  • 广州网站建设广州网络推广公司好朋友圈海报用什么网站做的
  • 重庆企业网站推广价格单页网站怎么制作教程
  • 广州做网站技术网站程序调试模式怎么做
  • 网站注册地址查询wordpress增加专题
  • cms与php做网站的区别phpnow超详细WordPress
  • 局域网建设直播网站花关键词排名系统
  • 寿县城乡建设局网站wordpress收不到
  • 厦门建设局网站技227司学校建设银行住房租赁品牌
  • 沈阳高端网站开发建设wordpress 登陆失败
  • 网站权重为零怎么把自己做的网站让别人收到
  • ps兼职做网站国外做婚纱的网站
  • 不合理的网站手机网站设计
  • 重庆綦江网站制作公司电话wordpress查询页面id
  • 开封+网站建设+网络推广模板网络结构图怎么画
  • 重庆网站制作长沙app开发建设公司
  • 网站开发后期做什么wordpress所有分类目录的地址
  • 网站备案 代理wordpress如何换域名
  • 网站建设推广seo蜜雪冰城网络营销案例分析
  • 网站建设 呢咕云永久域名申请