Java教程

JavaScript每日一题

本文主要是介绍JavaScript每日一题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 修改下面代码,顺序输出0-99

            要求:

                1、只能修改setTimeout 到 Math.floor(Math.random())

                2、不能修改Math.floor(Math.random() * 1000)

                3、不能使用全局变量

 


1         function print(n) {
2             setTimeout(() => {
3                     console.log(n);
4             }, Math.floor(Math.random() * 1000));
5         }
6         for (var i = 0; i < 100; i++) {
7             print(i);
8         }

 方法一 将setTimeout函数第一个函数参数改变为立即执行函数

1         function print(n) {
2             setTimeout((() => {
3                     console.log(n);
4                     return () => {};
5             })(), Math.floor(Math.random() * 1000));
6         }
7         for (var i = 0; i < 100; i++) {
8             print(i);
9         }

方法二: 将setTimeout函数第二个随机时间的参数变为第三个参数,这样就不控制函数等待时间

1         function print(n) {
2             setTimeout((() => {
3                     console.log(n);
4                     return () => {};
5             })(),10, Math.floor(Math.random() * 1000));
6         }
7         for (var i = 0; i < 100; i++) {
8             print(i);
9         }

 

 

这篇关于JavaScript每日一题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!