本帖最后由 h123hu 于 2012-03-09 16:42:41 编辑

解决方案 »

  1.   

    oDemo2返回值是对象,当然返回函数定义,否则应该返回什么?alert(oDemo1());//1
    alert(typeof oDemo2(oDemo1))//function
    alert(oDemo2(oDemo1));//function(){..............}
      

  2.   

    返回的是oDemo1?
    那oDemo1的return为什么不起作用?如果要显示那个return 1,该怎么做?
    请指点谢谢了哈
      

  3.   

    function oDemo1() {
        return 1;
    }
    function oDemo2(obj) {
        return obj;
    }alert(oDemo2(oDemo1)());或function oDemo1() {
        return 1;
    }
    function oDemo2(obj) {
        return obj();
    }alert(oDemo2(oDemo1));
      

  4.   

    第一种还可以写成alert(oDemo2(oDemo1()));等等,去看语法吧
      

  5.   

    我开始的理解是,应该返回的是oDemo1的结果,                    function oDemo1()
                        {
                            return 1;
                        }
                        
                        function oDemo2(obj)
                        {
                            return obj;//这个地方,oDemo1为什么先不执行,然后返回1呢?
                        }
      

  6.   


    函数即是对象,这个对象跟其他对象的特殊之外在于它可以被“调用”,紧接着"()"即让它执行
    var f=function(){//do something};
    alert(f)即得到函数体“function(){//do something}”,调用f即alert(f())才得到里边的运算结果