setTimeOut参数详解

一般基础写法:

setTimeout(func|code, delay) // 第一个参数是函数执行体,后面一个是延时时间

但是setTimeOut还可以在后面增加多个参数,比如:

setTimeout(func|code, delay,a,b,c ..)  // 第一个参数是执行体,第二个参数是延时时间,后面的参数可以作为参数传入第一个函数执行体内作为参数使用

setTimeOut的参数:
第一个参数是执行体,
第二个参数是延时时间,
后面的参数可以作为参数传入第一个函数执行体内作为参数使用。
比如:

for (var b = 0; b < 4; b++) {
    setTimeout(function(c) {
        console.log( c);
    }, 1000, b);
}
console.log(c);

打印出来

4,0,1,2,3

这是因为整个for循环是几乎是一瞬间执行完毕,相当于同一时间设置了四个定时器,每个定时器都是延时1s以后执行,并且每一个定时器都保存了创建它的时候b的值,所以,最后是先打印出4,然后过一秒几乎同时打印出0,1,2,3.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容