for(var i=0;i<6;i++){
setTimeout(function(j){
console.log(j);
},i*1000,i);
}
由于每次传入的参数是从for循环里面取到的值,所以会依次输出0~5。 看了上面的代码,相信你对这个setTimeout的第三个参数作用大概了解了,是的,它就是给setTimeout第一个函数的参数。 翻一下MSDN文档,里面确实有记录setTimeout第三个及后面的参数的。下面我们来看看这个代码
function sum(x,y,z){
console.log(x+y+z);
}
setTimeout(sum,1000,1,2,3);
上面第二行打印出了6,1+2+3=6(11是setTimeout timeId)。
可以看出,第三个及以后的参数都可以作为sum函数的参数