犀牛书上说它函数执行时会创建一个调用对象,由于函数本身也是个对象,请问调用对象和函数本身这个对象是什么关系呢,它们是同一个对象么?

解决方案 »

  1.   

    貌似不是一个对象
    这个我也不是太清楚
    第一个调用对象我认为是window对象我的回答不确保正确这是我自己的理解。
      

  2.   

    http://www.iteye.com/topic/19748
      

  3.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
    <script type="text/javascript">
    //楼主看书,有看到过js 有个内置的Function 对象吧。下面两个是一样的效果。
    function sum(a, b) {return a + b;};
    alert(sum(1, 2))//输出3
    var sum = new Function('a', 'b', 'return a + b;');//注意这里用new
    alert(sum(1, 2))//输出3
    //下面看看一个函数的是由什么对象构造出来的。alert(sum.constructor); //输出Function,  说明sum的函数是由Function构造出来的,而Function是js里的一个内置对象</script></body>
    </html>
      

  4.   

    你声明的所有函数都是一个对象,而且是引用类型的对象,且每个函数都是Function类型的一个实例化,比如 function a(b,c){ return b+c}(这个就是函数本身) 和 var a=new Function('c','b',"return b+c")(这个就是调用对象);是一样的;理解函数也是对象很重要,这也就能解释为什么函数也有length,和constructor等属性..