js设置for循环阻塞
参考代码如下:
<!DOCTYPE html>
<html>
<!-- 测试for循环的阻塞机制 -->
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
// for (var i = 0; i < 3; i++) {
// setTimeout(function() {
// console.log(i);
// }, (i + 1) * 1000);
// }
for (var i = 0; i < 3; i++) {
(function(i) {
setTimeout(function() {
console.log(i);
}, (i + 1) * 1000);
})(i)
}
</script>
</body>
</html>
上面代码中,第二个for循环设置了阻塞,所以最终输出的是:0 1 2;