【面试题】改造下面的代码,使之输出0 - 9

简介: 改造下面的代码,使之输出0 - 9

改造下面的代码,使之输出0 - 9



for (var i = 0; i < 10; i++) {
    setTimeout(() => {
        console.log(i);
    }, 1000)
}

1.块级作业域 let

for (let i = 0; i< 10; i++){
  setTimeout(() => {
    console.log(i);
    }, 1000)
}

2.闭包

for (var i = 0; i < 10; i++) {
    (i => {
        setTimeout(() => {
            console.log(i);
        }, 1000)
    })(i)
}

3.立即执行函数

for (var i = 0; i < 10; i++) {
    setTimeout((() => {
        console.log(i);
    })(), 1000)
}

4.函数

for (var i = 0; i < 10; i++) {
    setTimeout(console.log, 1000, i)
}

5.call

for (var i = 0; i < 10; i++) {
    setTimeout(((i) => {
        console.log(i);
    }).call(Object.create(null),i), 1000)
}

6.call

for (var i = 0; i < 10; i++) {
    setTimeout(((i) => {
        console.log(i);
    }).call(null,i), 1000)
}

7.临时变量

for (var i = 0; i < 10; i++) {
    let _i = i
    setTimeout(() => {
        console.log(_i);
    }, 1000)
}

8.Promise

for (var i = 0; i < 10; i++) {
    new Promise((resolve, reject) => reject(i)).catch(setTimeout((i) => {
        console.log(i);
    }, 1000))
}

9.try,catch

for (var i = 0; i < 10; i++) {
    try {
        throw i
    } catch(i) {
        setTimeout(() => {
            console.log(i);
        }, 1000)
    }
}

10.eval

for (var i = 0; i < 10; i++) {
    setTimeout(eval('console.log(i)'), 1000)
}
相关文章
|
6月前
|
前端开发
【面试题】如何使用ES6 ... 让代码优雅一点?
【面试题】如何使用ES6 ... 让代码优雅一点?
|
6月前
|
存储 前端开发 JavaScript
【面试题】你是如何让js 代码变得简洁的?
【面试题】你是如何让js 代码变得简洁的?
|
3月前
|
Java 编译器 C++
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
这篇文章解释了Java能够实现“一次编写,到处运行”的原因,主要归功于Java虚拟机(JVM),它能够在不同平台上将Java源代码编译成的字节码转换成对应平台的机器码,实现跨平台运行。
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
|
3月前
|
存储 缓存 Java
面试问Spring循环依赖?今天通过代码调试让你记住
该文章讨论了Spring框架中循环依赖的概念,并通过代码示例帮助读者理解这一概念。
面试问Spring循环依赖?今天通过代码调试让你记住
|
3月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
5月前
|
存储 算法 Java
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
|
6月前
|
缓存 监控 算法
Python性能优化面试:代码级、架构级与系统级优化
【4月更文挑战第19天】本文探讨了Python性能优化面试的重点,包括代码级、架构级和系统级优化。代码级优化涉及时间复杂度、空间复杂度分析,使用内置数据结构和性能分析工具。易错点包括过度优化和滥用全局变量。架构级优化关注异步编程、缓存策略和分布式系统,强调合理利用异步和缓存。系统级优化则涵盖操作系统原理、Python虚拟机优化和服务器调优,需注意监控系统资源和使用编译器加速。面试者应全面理解这些层面,以提高程序性能和面试竞争力。
80 1
Python性能优化面试:代码级、架构级与系统级优化
|
6月前
|
数据采集 数据挖掘 Python
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
|
6月前
|
数据采集 XML 程序员
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
|
6月前
|
数据采集 机器学习/深度学习 人工智能
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费