没人知道么?
还有 innerfun(num) 是数据变量用的函数,要做为参数传入一个函数里也就是不能用这样的方法判断if(!innerfun(num))
return false;拜托哪个高人来指点下

解决方案 »

  1.   

    function run(num)
    {
      if(num>5)
      {
        return false;
      }
      function innerfun(num)
      {
        if(num>3)
        {
          return flase;
        }
      }
      return innerfun(num);
    }
      

  2.   

    1,你上面的代码没有调用innerfun2.传一个数字4,第一个判断if(num>5)不起作用,这个条件本身是成立的。3,innerfunction返回false,是innerfuc的返回值,而非外函数的返回。看:下面的示例<script language=javascript>
    alert((function run(num)
    {
      if(num>5)
      {
        return ">5";
      }
      var a=(function innerfun()
      {
        if(num>3)
        {
          return ">3";
        }
      })(); if (a) return a;
      return true;  //flag
    })(1))// 1,4,5
    </script>
      

  3.   

    想解决的是DWR的数据异步加载问题innerfun() 是DWR的回调函数,关键的问题是innerfun()在运行时,外函数run()也在运行function fun(arg1)
    {
      var flag=0;  DWRclass.dwrmethod(arg1,innerfun);//不清楚的,只要知道这个语句调用了innerfun就可以了  function innerfun(data)
      {
        flag=1;
      }  alert(flag);//0  alert(flag);//1  当执行到这句的时候 innerfun才给flag赋值
      alert(flag);//1
      alert(flag);//1
      alert(flag);//1
    }alert 第一个的结果是 0 而不是1
      

  4.   

    http://www.javaeye.com/topic/20654?page=1