JS的setTimeout和AS的setTimeout

js中:

setTimeout(code,millsecond);

code是一段js代码

  setTimeout("alert('sdf')",2000);

  setTimeout("check()",2000);

  setTimeout(check,2000);

然而as中code的类型必须是Function类,也就是setTimeout(check,2000);

 

function init()
{
    var a= 90;
    setTimeout(check(a),2000);
}
        
function check(a)
{
    alert(a);
}

chrome/ff中立即弹框,不报错。IE中立即弹框,且报参数无效错误。IE的结果更好

执行check(a),弹框,但是check函数没有返回值,那么实际上setTimeout在运行时是这样的setTimeout(null,2000);ff/chrome都忽略这个错误,只有IE会提醒出错

 

function init()
{
    var a= 90;
    setTimeout(check(a),2000);
}
        
function check(a)
{
    alert(a);
   return  test;//或者return "test()";
}
function test()
{
    alert("test");    
}

2000ms后成功执行test函数,这符合js上面的参数形式

 

function init()
{
    var a= 90;
    setTimeout("check("+a+")",2000);
}
        
function check(a)
{
    alert(a);
}

这样setTimeout参数是字符串形式了。

 

setTimeout(check,2000);

2s之后的情形是这样的:

function anonymous()

{

  check();

}

你可能感兴趣的:(JS的setTimeout和AS的setTimeout)