又来刷面试题啦,哈哈。

要求:使用for循环打印1-10,每个数字出现的间隔约500ms。

分析:考察点--闭包,块级作用域

方式一、使用闭包+立即执行函数,自己当时的思路也是这样想的,但是,结果却没有体现间隔500ms

/*结果虽然依次输出了1-10,但是每个数字之间没有间隔,是一次性输出的,所以不正确*/ 
for (var i = 1; i <= 10; i++) {
setTimeout((function(i) {
console.log(i);
})(i), 500);
}

  经过修改,结果满足要求:1.setTimeout每次的间隔500*i,保证每隔500ms输出一次  2.将立即执行移到外层

/**
* 使用for循环打印1-10,每个数字出现的间隔约500ms
* 方法一、使用闭包,注意setTimeout,每隔500ms,因此每次传递的间隔时间要乘以i
*/
for(var i=1;i<=10;i++){
(function(i){
setTimeout(function(){
console.log(i);
},500*i);
})(i); }

  方法二、使用let,let本身就是块级作用域

for(let i=1;i<=10;i++){
setTimeout(function(){
console.log(i);
},500*i);
}

  

JS面试题--使用for循环打印1-10,每个数字出现的间隔约500ms的更多相关文章

  1. 用js 的for循环打印三角形,提取水仙花数,求本月多少天

    第一题:用for循环打印三角形 //第一个 for(var x = 1;x <= 4;x++){ //控制行数 :由 1 到 4 for(var y = 1;y <= x;y++){ // ...

  2. 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC

    题目:http://wenku.baidu.com/view/d66187aad1f34693daef3e8a.html 启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC. ...

  3. 10个常见的Node.js面试题

    如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...

  4. JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力。。

      JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力..   小森执行一 ...

  5. 每日微软面试题——day 6(打印所有对称子串)

    每日微软面试题——day 6(打印所有对称子串) 分类: 2.数据结构与算法2011-08-14 14:27 9595人阅读 评论(15) 收藏 举报 面试微软string测试systemdistan ...

  6. Node.js面试题之2017

    译者按: 从ECMAScript标准,Node.js语法以及NPM模块角度来看,Node.js的发展让人目不暇接,那么面试题也得与时俱进. 原文: Node.js Interview Question ...

  7. vue.js面试题整理

    Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务 ...

  8. js经典试题之数组与函数

    js经典试题之数组与函数 1:列举js的全局函数? 答案:JavaScript 中包含以下 7 个全局函数escape( ).eval( ).isFinite( ).isNaN( ).parseFlo ...

  9. Node.js面试题

    Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听80端口? 什么是事件循环? 哪些工具可以用来保证一致的编程风格? 什么是测试金字塔?对于HTTP API ...

随机推荐

  1. dubbo-admin安装

    1.下载dubbo-adminhttps://github.com/apache/incubator-dubbo/tree/dubbo-2.5.7 2.解压,进入到/home/zhanxuewei/D ...

  2. PostgreSQL - 怎么将时间转换成秒

    保留原来的毫秒值 select extract(epoch from '03:21:06.678'::time); 这个extract(epoch from )函数得到的是时间是秒单位,如果需要毫秒值 ...

  3. nutzboot dubbo zookeeper简单使用

    提供方和消费方properties 配置基本差不多 nutz.application.name这个值不一样 提供方配置自动端口就行server.port=0 消费方一般需要对外提供web服务配置ip和 ...

  4. Other Linker Flags里加上所需的参数

    在Other Linker Flags里加上所需的参数,用到的参数一般有以下3个: -ObjC -all_load -force_load 下面来说说每个参数存在的意义和具体做的事情. 首先是-Obj ...

  5. scrapy框架的命令行解释

    scrapy框架的命令解释 创建爬虫项目 scrapy startproject 项目名例子如下: scrapy startproject test1 这个时候爬虫的目录结构就已经创建完成了,目录结构 ...

  6. session 跟 cookie 关系

    面试经验: 谈到Session的时候就侃Session和Cookie的关系:Cookie中的SessionId. 和别人对比说自己懂这个原理而给工作带来的方便之处.   客户第一次发送请求给服务器,此 ...

  7. Spring-打印机案例

    1.导包 <!--beans--><dependency> <groupId>org.springframework</groupId> <art ...

  8. 用Excel生成Sql

    用Excel生成Sql: 以如图为例:点击一行数据的后面一个单元格,在上面的fx部分输入=,以等号开头证明这是一个公式.在等号的后面写上想要添加的数据,书写规范是这样:'"&A2&a ...

  9. this详解,对执行上下文说 Yes

    this 指向多变,很多隐蔽的 bug 都缘于它.与此同时,this 强大灵活,如果能熟练驾驭,就会写出更简洁.优雅的代码. 社区上对于 this 的讲解虽然不少,但缺乏统一梳理. this 相关知识 ...

  10. jQuery源码分析系列(转载来源Aaron.)

    声明:非本文原创文章,转载来源原文链接Aaron. 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAa ...