for语句不会因为有setTimeout的存在而停止,他会跳过setTimeout,setTimeout设定的是100毫秒的延迟,而for语句执行根本用不了那么长时间,可以使用递归来解决这个问题
var i = 500;
function al() {
i-=10;
if(i > 80){
setTimeout(function() {
console.log(i)
al()
}, 200)
}
}
al();