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

怎么做签到网站无法运行电脑wordpress

怎么做签到网站,无法运行电脑wordpress,电商网站设计说明书,做网站用母版页不好么for (var i 1; i < 5; i) {setTimeout( function timer() {console.log(i);}, i * 1000 ); }//要求改动上述代码&#xff0c;使其依次输出1、2、3、4、5每过1秒钟输出了一个数字6&#xff0c;5个6 当同步代码执行完毕后&#xff0c;开始执行异步的setTimeout代码&#xff…
for (var i = 1; i <= 5; i++) {setTimeout( function timer() {console.log(i);}, i * 1000 );
}//要求改动上述代码,使其依次输出1、2、3、4、5

每过1秒钟输出了一个数字6,5个6

当同步代码执行完毕后,开始执行异步的setTimeout代码,执行setTimeout时需要从当前作用域内寻找一个变量 i ,此时for循环已执行完毕,当前 i=6,所以执行setTimeout时输出为6,任务队列中的剩余4个setTimeout也依次执行,输出为6。

用立刻执行函数包裹,把i传进去,就是闭包

for (var i = 1; i <= 5; i++) {(function(i){ //用立刻执行函数包裹,把i传进去setTimeout( function timer() {console.log(i);}, i * 1000 );})(i);
}

用立刻执行函数。这样 console.log(i); 中的i就保存在每一次循环生成的立刻执行函数中的作用域里了。

块级作用域–关键字let

使用闭包可以得到正确的结果,原因就是改变了i的作用域,那如果我们把循环中的每个setTimeout都独立成一个作用域是不是也能实现同样的结果呢?

我们都知道,在JavaScript中,每个函数是一个独立的作用域,但是“{}”是不能形成独立作用域的。

在ES6中提出了一个新的关键字let,就可以声明一个仅对当前“{}”内部有作用的变量。
在这里插入图片描述
let是块级作用域,每执行一次setTimeout就向每个块中寻找i值,执行了5次,每个块中分别是1 2 3 4 5,所以结果为 1 2 3 4 5
最后结果是1s后 1 2 3 4 5

var let 经典面试题(理解作用域)

详解setTimeOut面试题

for循环 + setTimeout 结合的烂大街的面试题

http://www.dtcms.com/a/599618.html

相关文章:

  • 面试网站建设工程师手机网站做多宽的图片
  • 重庆 网站备案企业管理咨询案例分析
  • 手机购物网站 建站wordpress系统那个主题好用
  • 烟台招远网站建设温州专业微网站制作报价
  • 那些做测评的网站好郑州市制作网站的公司
  • 网站建设的目标与思路wordpress超cpu
  • 2012年网站设计方法wordpress 多级分类
  • 网站关键词优化公司哪家好网站排名优化工具
  • 网站 制作价格表个人网页设计作品下载
  • 白城百度网站建设wordpress plugin
  • 苏州公司变更北京培训seo哪个好
  • 郑州工程造价信息网seo网站基础建设
  • 自己做服务器和网站贵州省建设职业技术学院网站
  • 南京小程序开发网站建设微网站需要什么
  • 优酷土豆网站建设济南 网站建设公司 医疗
  • 常州语言网站建设布吉做网站公司
  • 网站开发的一次性收益部门网站管理建设工作汇报
  • wordpress 电影下载站网站设计说明书功能流程图
  • 小清新网站风格哪些网站可以做迁徙图
  • 网站推广优化淄博公司安徽省工程建设信用平台网站
  • 怀化同城网站防疫网站网页设计
  • 企业网站设计与推广wordpress 不连接外网
  • 建站运营新闻全网网络营销系统
  • 聊城手机站网站公司php网站开发实例 电子书
  • 南京网站开发选南京乐识好成都住建局官网app
  • 我要制作网站dw网页制作怎么插mp4视频
  • 小学生做甜品的网站WordPress手机导航登陆代码
  • 天津网站建设方案深圳华丰大厦网站建设
  • 做网站过程中的自身不足网站建设 空间什么系统
  • 镇江大港南站wordpress优化0sql