function waitCondition(condition){
if(condition){
    alert("Action!!");
}
else{
    setTimeout("function(){waitCondition(condition);}",2000); //程序说我这句有语法错误~请问问题在哪?
}
}

解决方案 »

  1.   

    这样试试:
    function waitCondition(condition){
        if(condition) {
         alert("Action!!");
        }
        else {
            setTimeout(function() { waitCondition(condition); }, 2000);
        }
    }
      

  2.   


    function waitCondition(condition){
      if(condition){
         alert("Action!!");
      }
      else{
        setTimeout("waitCondition(" + condition + ")",2000);
      }

      

  3.   

    setTimeout("waitCondition("+condition+")",2000); 
    如果condition是字符型
    setTimeout('waitCondition("'+condition+'")',2000); 
      

  4.   

    应该是window.setTimeout("function(){waitCondition(condition);}",2000);你逗号好像写成了中文的逗号,另外前面加上window.
      

  5.   

    这个为正解~~但是我发现setTimeout()这个函数很奇怪,有时候需要外加function(){},有时候又不需要。有时候加冒号,有时候又不需要。真晕死!
      

  6.   

    setTimeout会判断参数的类型
    你自己也可以做到
    function f(a) {
        if (typeof a == "string")
             alert(a);
        if (typeof a == "function")
             a();
    }