用JavaScript输出0-9的两种方法、以及setTimeout的三个参数的意义

方法一: 

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

方法二:利用 setTimeout 函数的第三个参数,会作为回调函数的第一个参数传入

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

setTimeout的第三个参数详解:第一个参数是回调函数,第二个参数是延迟时间,第三个参数是作为回调函数的参数来使用的

官网链接:https://developer.mozilla.org/en-US/docs/Web/API/setTimeout 

例如:

setTimeout(
    function(a){
        console.log(a)
    },
    2000,
    '第三个参数'
)

执行这个代码你会发现在代码执行两秒后会在控制台打印出‘第三个参数’的字样

用JavaScript输出0-9的两种方法、以及setTimeout的三个参数的意义_第1张图片

我们可以简单粗暴的理解为,a=‘第三个参数’ 

再比如:会在控制台输出6,也就是1*2*3的值

setTimeout(
    function(a,b,c){
        console.log(a*b*c)
    },
    2000,
    1,2,3
) 

如果第三个参数是一个函数:

setTimeout(
    function(){
        console.log('第一个参数')
    },
    2000,
    setTimeout(
     function(){
        console.log('第三个参数')
    }, 1000)
)

打印结果如下:

用JavaScript输出0-9的两种方法、以及setTimeout的三个参数的意义_第2张图片

先执行第三个参数,然后再执行第一个函数。

你可能感兴趣的:(学习笔记,javascript,前端,开发语言)