解决方案 »

  1.   


    var f = function(v){
    return function(){

    if(v == 10){
    Ext.Msg.hide();
    //alert(v);
    Ext.Msg.alert("完成","所有项目加载完成");
    }else{
    var i = v/10;
    //alert(i);
    Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
    }

    }

    } for(var i = 1;i<11;i++){
    setTimeout(f(i),i*500);//为什么只有用return function的时候才能完整的调用呢,如果去掉return则只显示alert
    }
    如上面的这个,为什么去掉return function就直接显示的else的内容,没有经过循环呢??
      

  2.   


    function a(){
       return function(){
               alert("b是函数");
       }
    }
    var b = a();
    b();
      

  3.   

    setTimeout();
    第一个参数是要调用的函数或js代码串!  并不是一个函数值;setTimeout(function(){alert(1)},500);
      

  4.   

    如果去掉return function ,f 不也是一个函数吗?
      

  5.   

    var f = function(v){
            if(v == 10){
                  Ext.Msg.hide();
                  Ext.Msg.alert("完成","所有项目加载完成");
            }else{
                   var i = v/10;
                    Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
             }}for(var i = 1;i<11;i++){
             setTimeout(f(i),i*500);//为什么只有用return function的时候才能完整的调用呢,如果去掉return则只显示alert
    }
      

  6.   


    是extjs方法内的一些问题! 具体的我也不太清楚! 记得以前看过一个文章,说注意setTimeout()中的一些陷阱, 貌似这个函数有一些其它的问题会和某些代码冲突! 我记得当时看人家建议这么写!setTimeout((function(){alert(1)})(),500);这就相当于一个自执行函数返回一个函数!function a(){
          return function() {
               alert(1)
          }
    }
    setTimeout(a(),500);貌似跟什么表达式啊 语句啊什么的有关! 不过好久之前看的 有点忘了!
    你这么写试试好使不if(v == 10){
                  Ext.Msg.hide();
                  Ext.Msg.alert("完成","所有项目加载完成");
            }else{
                   var i = v/10;
                    Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
             }
    for(var i = 1;i<11;i++){
             setTimeout((function(){
                   if(v == 10){
                      Ext.Msg.hide();
                      Ext.Msg.alert("完成","所有项目加载完成");
                   }else{
                       var i = v/10;
                       Ext.Msg.updateProgress(i,Math.round(100*i)+"%已完成");
                   }
             })(),i*500);
    }
      

  7.   


    b=function(){
               xxxxx;
       }
    //所以直接 b()就可以了
      

  8.   

    var b = a();本来就是错的.把功能函数强制转换成变量. 坐等电脑蓝屏阴司崩溃.