<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<!-- <script>
// setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。
// 方法会不停地调用函数, 直到 clearInterval() 被调用或窗口被关闭。
//console.log('hello world');
//setInterval("console.log('hello world')", 2000);
// var i = 10;
// function box() {
// console.log(i);
// i--;
// }
// 两种写法
//setInterval("box()", 2000);
// setInterval(box, 2000);
//定时器
// setInterval(参数1,参数2)
// 参数1: 要执行的js代码串或调用的函数
// 参数2: 间隔时间单位: 默认毫秒
// var i = 1;
// setInterval("run()", 100);
// function run() {
// if (i <= 10) {
// document.write(i + "<br>");
// i++;
// } else {
// clearInterval("run()")
// }
// }
var i = 1;
var tem = setInterval("run()", 100);
function run() {
if (i <= 10) {
document.write(i + "<br>");
i++;
} else {
clearInterval(tem);
}
}
</script> -->
<script>
// setTimeout() :在指定的毫秒数后调用函数或计算表达式。
// setTimeout("console.log('hello world')", 2000);
// var i = 10;
// function box() {
// console.log(i);
// i--;
// }
// setTimeout(box, 2000);
// var i = 10;
// setTimeout(function box() {
// console.log(i);
// i--;
// }, 2000);
// 递归
// var i = 10, t;
// function box() {
// console.log(i);
// i--;
// t = setTimeout(box, 100);
// if (i < 1) {
// clearTimeout(t)
// }
// }
// box();
var i = 10, t;
function box() {
document.write(i);
i--;
t = setTimeout(box, 100);
if (i < 1) {
clearTimeout(t)
}
}
box();
//产生bug原因
//异步函数:
// var i = 10;
// i++;
// --i;
// console.log();
// js同步(按照代码先后顺序执行) 阻塞
</script>
</html>