关于JS的alert执行顺序问题
functiontest(){vara=1;setTimeout(function(){alert(a);a=3;},1000);a=2;setTimeout(funct...
function test()
{
var a = 1;
setTimeout(function() {
alert(a); a = 3; }, 1000);
a = 2; setTimeout(function() {
alert(a); a = 4; }, 3000);}
test();
alert(0);
//请注意,代码中有三处alert.他们分别会alert出什么值,时间上的顺序是怎样的?
//请详述得到这个答案的原因,特别是test函数的局部变量a是对运行结果的影响. 展开
{
var a = 1;
setTimeout(function() {
alert(a); a = 3; }, 1000);
a = 2; setTimeout(function() {
alert(a); a = 4; }, 3000);}
test();
alert(0);
//请注意,代码中有三处alert.他们分别会alert出什么值,时间上的顺序是怎样的?
//请详述得到这个答案的原因,特别是test函数的局部变量a是对运行结果的影响. 展开
1个回答
展开全部
function test(){
var a = 1;
setTimeout(function() {
alert(a);
a = 3;
}, 1000);
a = 2;
setTimeout(function() {
alert(a);
a = 4;
}, 3000);
};
test();
alert(0);
//首先setTimeout是一个异步延迟函数
//先弹0是很明显的,因为test中的两个aelrt()都是延迟的,再弹0之前test中的a是2,
//0之后就是第一第一个定时器的函数alert(a)是2,原因在上面解释了,在弹2之后执行了a=3,然后是第二个定时器所以弹3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询