1
|
<span style=
"font-size:18px;"
>例子:
1
</span>
|
1
2
3
4
5
6
7
8
9
|
function test() {
var a =
1
;
setTimeout(function() {
alert(a);
a =
5
;
},
1000
);
}
test();
alert(
0
);
//前面的两个setTimeout延迟了 所以先执行这个
|
例子2
1
2
3
4
5
6
7
8
9
10
11
|
function test() {
var a =
1
;
setTimeout(function() {
alert(a);
a =
5
;
},
1000
);
alert(a);
}
test();
alert(
0
);
|
结果:先弹出1,然后弹出0,最后弹出1 。
先执行test()里的alert(),因为function此时还未执行,因此,a任然为1.因为function还在被延迟着,因此,执行了alert(0),最后到时间了,执行了alert(a),因为前面a已经变为1了,所以,最后弹出的是1.
例子:3:
1
2
3
4
5
6
7
8
9
10
|
function test() {
var a =
1
;
setTimeout(function() {
alert(a);
a =
5
;
},
1000
);
a =
19
;
}
test();
alert(
0
);
//前面的alert因为setTimeout延迟了 所以先执行这个。
|
延迟了function() {
alert(a);
a = 5;
}
但是a=19还是会照常执行,不是等到延迟结束。所以,执行这个被延迟函数的时候,a=19了!
例子4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function test() {
var a =
1
;
setTimeout(function() {
alert(a);
a =
5
;
},
1000
);
a =
19
;
setTimeout(function() {
alert(a);
a =
4
;
},
3000
);
}
test();
alert(
0
);
//前面的两个setTimeout延迟了 所以先执行这个
|