setTimeout的第三个参数,你可能不知道的作用
说起来你可能不相信,setTimeout居然有第三个参数,扒了一下MDN,果然有定义:
setTimeout(code, milliseconds, param1, param2, ...);
setTimeout(function, milliseconds, param1, param2, ...);
param1, param2, ... 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。
增加两个参数
function sum(x, y) {
    console.log(x+y);
}
setTimeout(sum, 1000, 1, 3);
 
 
打印出的11是setTimeout的timeId。
从上面的例子,我们可以看出:第三个参数及以后的参数都可以作为sum函数的参数。
第三个参数作为函数
var i=0;
setTimeout(function(){
    console.log('第二次'+i)
},3000,setTimeout(function(){
    console.log('第一次'+i);
    i++;
},1000));
最后依次输出为 第一次0 第二次1。可以看到第三个参数还可以是先执行,然后再执行函数。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号