setTimeout和setInterval计时器的参数问题
要实现倒计时的问题,用setTimeout和setInterval都可以实现,用setInterval函数一般会这样写:
var count = 100; function a(count) { count--; } setInterval(a,1000,count);
用setTimeout会这样写:
var count = 100; function a(count) { count--; setTimeout(a,1000,count); }
乍一看,好像这两个函数效果是一样的,都是1秒钟执行一次,但是实际上的运行结果是有不同的,第一种写法,count运行后始终为99,因为这个函数的意思就是,每隔1秒,把100-1
而第二种写法的就不会这样,他是从100开始,每隔一秒减1,他传入的count是在变化的,所以,如果涉及到重复执行函数的参数变化的话,最好用setTimeout来写。