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

来源:8-2 再谈原型链

慕九州7581214

2015-11-20 15:26

老师,请教个问题,以下代码中,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 {}


写回答 关注

2回答

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

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

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


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

    慕九州758...

    终于懂了,老师的课程非常棒。之前看JS高级程序设计面向对象部分看得云里雾里的,老师的课听起来就清晰很多,听了老师的课,再去看书,居然都看明白了,哈哈,好开心

    2015-11-27 10:57:27

    共 1 条回复 >

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

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

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


JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281101 学习 · 1020 问题

查看课程

相似问题