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

给网站做h5缓存机制/seo门户

给网站做h5缓存机制,seo门户,唐河企业网站制作怎么样,科技网站域名JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序。 浏览器的内核是多线程的,它们在内核控制下相互配合以保持同步,一个浏览器至少实现三个常驻线程:JavaScript引擎线程,GUI渲染线程&a…

JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序。

浏览器的内核是多线程的,它们在内核控制下相互配合以保持同步,一个浏览器至少实现三个常驻线程:JavaScript引擎线程,GUI渲染线程,浏览器事件触发线程

    *JavaScript引擎是基于事件驱动单线程执行的,JavaScript引擎一直等待着任务队列中任务的到来,然后加以处理,浏览器无论什么时候都只有一个JavaScript线程在运行JavaScript程序。

    *GUI渲染线程负责渲染浏览器界面,当界面需要重绘(Repaint)或由于某种操作引发回流(Reflow)时,该线程就会执行。但需要注意,GUI渲染线程与JavaScript引擎是互斥的,当JavaScript引擎执行时GUI线程会被挂起,GUI更新会被保存在一个队列中等到JavaScript引擎空闲时立即被执行。

    *事件触发线程,当一个事件被触发时该线程会把事件添加到待处理队列的队尾,等待JavaScript引擎的处理。这些事件可来自JavaScript引擎当前执行的代码块如setTimeout、也可来自浏览器内核的其他线程如鼠标点击、Ajax异步请求等,但由于JavaScript的单线程关系所有这些事件都得排队等待JavaScript引擎处理(当线程中没有执行任何同步代码的前提下才会执行异步代码)。


由于浏览器是事件驱动的(Event driven),因此浏览器中很多行为是异步(Asynchronized)的,很容易有事件被同时或者连续触发。当异步事件发生时,会创建事件并放入执行队列中,等待当前代码执行完成之后再执行这些代码,如鼠标点击事件发生、定时器触发事件发生、XMLHttpRequest完成回调这些事件,都会被放入执行队列中等待。

for(var i=0;i<3;i++){setTimeout(function(){console.log(i);}, 1000);
}
console.log('start');

闭包只能取得包含函数中任意变量的最后一个值。原因是他们引用的都是同一个i。

 输出start 3 3 3(只有start和第一个3之间间隔1秒,因为每个间隔都是相对执行队列中setTimeout前面一个js程序)

就算setTimeout的时间为0,但是它仍然是setTimeout,原理是不变的。所以会将其加入到队列末尾,0秒后执行。


怎么解决输出对应i?

函数参数是按值传递的,所以会将i的当前值复制给参数num,这样setTimeout的回调函数中num的值不相同。

输出3 0 1 2(只有3和0之间间隔1秒)

for(var i=0;i<3;i++){(function(num){setTimeout(function(){console.log(num);}, 1000);})(i)
}console.log(i);
//或者var opt = function(i){setTimeout(function(){  console.log(new Date + i);  }, 1000);  
}
for(var i=0;i<3;i++){  opt(i)
}  
console.log(new Date + i)//如何解决每隔一定时间输出0 1 2 3 4 5for(var i=0;i<5;i++){  (function(num){  setTimeout(function(){  console.log(new Date + num);  }, 1000 * num);  })(i)  }  setTimeout(function() { console.log(new Date, i);
}, 1000 * i);


http://www.jmfq.cn/news/4891033.html

相关文章:

  • 任丘市建设局网站/中级经济师考试
  • 公司网站建设制度/优化网站有哪些方法
  • 网站开发体会范文/手机百度网页版入口
  • wordpress的用户名与密码/宁波seo推广方式排名
  • 网站平台建设视频教学/网站推广平台排行
  • wordpress百度收录之自动推送设置/山东seo网络推广
  • 有经验的江苏网站建设/今日短新闻20条
  • 武汉网站建设制作/微信朋友圈广告投放收费标准
  • 成都比较好的网站制作公司/朋友圈推广广告
  • ps做的图怎么做成网站前端/沈阳网站推广优化
  • 建设银行网站打不开别的网站可以用吗/推广管理
  • 网站的宣传方法有哪些/seo搜索引擎优化包邮
  • 建设银行官方网站首页个人登录/保定百度seo公司
  • 用户密码找回网站/网络服务有限公司
  • 网站建设 爱诚科技/市场调研报告ppt
  • 网站建设的企业/看广告赚钱
  • 绍兴seo网站推广/防晒霜营销软文
  • 一个空间做两个网站/活动营销方案
  • 怎么推广我做的网站/seo推广经验
  • 拼多多是b2c还是c2c/厦门seo收费
  • 库尔勒市建设路街道办网站/海南网站设计
  • 女朋友做网站/打造龙头建设示范
  • wordpress手机站和pc如何切换的/百度收录网站多久
  • 网站建设个人网站/关键词列表
  • wordpress 取消https/网站推广seo招聘
  • dede 汽车网站/前端优化
  • 自己做网站需要哪些流程/抓关键词的方法10条
  • 湖北省建设厅七大员报名网站/seo最新
  • 全国最大机械采购平台/合肥seo推广排名
  • 表述网站建设流程/商务软文写作300