JavaScript基础练习 -- 第四天

博主将每日更新JavaScript基础练习题,题目多为自己总结,包含学习笔记、遇到的问题及基础概念。第四天的题目围绕代码段运行结果、改造代码以实现特定输出、setTimeout定时准确性及闭包理解等,还给出查看答案的链接并欢迎反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

在本栏中,我将每天更新一些JavaScript基础练习题。这些习题,大部分是我自己总结的。其中很大一部分是我在学习过程中记下的笔记或者遇到的坑,还有就是很重要很重要的基础概念,被我转换为了习题的形式。这部分题目,我觉得非常适合刚入门前端开发的朋友们,希望大家有所收获,这就足够咯~~

第四天

正文:

仔细阅读以下代码段,回答下列问题:(并非原创)

for (var i = 0; i < 5; i++) { 
  setTimeout(function() { console.log(i); }, 1000);
}  
console.log(i);
  1. 该代码段的运行结果是什么?
  2. 若用箭头(=>)表示其前后的两次输出之间有 1 秒的时间间隔,而逗号(,)表示其前后的两次输出之间的时间间隔可以忽略,那么代码实际运行的结果该如何描述?
  3. 如果期望代码的输出变成:5 => 0,1,2,3,4,该怎么改造代码?给出你的解决方案
  4. 如果期望代码的输出变成 0 => 1 => 2 => 3 => 4 => 5,并且要求原有的代码块中的循环和两处 console.log 不变,该怎么改造代码?给出你的解决方案
  5. setTimeout定时是否准确?为什么?
  6. 简单谈谈你对闭包的理解?

说明:

  1. 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
  2. 欲查看word版习题和答案,请访问:https://download.youkuaiyun.com/download/qq_30216191/10630107
  3. 题目和答案中,若有错误和需完善的地方,请及时给予我反馈哈~~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值