问答详情
源自:8-2 再谈原型链

foo.__proto__和foo.prototype.__proto__的区别

老师,请教个问题,以下代码中,foo.__proto__和 foo.prototype.__proto__有什么区别?为什么同样返回 Object {},foo函数是调用foo.prototype.__proto__ ,而obj对象则调用obj.__proto__ ? 

多谢!

function foo(){};

var obj={x:1};

foo.__proto__     // function Empty() {}

foo.prototype.__proto__    // Object {}

obj.__proto__                   //Object {}


提问者:慕九州7581214 2015-11-20 15:26

个回答

  • Bosn
    2015-11-23 17:45:01
    已采纳

    一个是foo函数的原型,它应该等于Function.prototype

    一个是foo函数的原型的原型,它应该等于Object.prototype


    没动的话,原型相关的视频再好好看看

  • pardon110
    2015-11-21 16:39:37

    __proto__隐式原型即真正意义上的原型。

    prototype 构造函数内的显式原型,可见。是一个对象。