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

关于person.prototype原型指向object.prototype???

JS中所有函数的原型都是Function.prototype,所有对象原型链的终点指向Object.prototype??


哪位大神能说明下吗


提问者:淡水狗 2018-04-08 23:38

个回答

  • Elias丿纯黑
    2018-10-04 15:28:19

    准确的说,Function.prototype.__proto__ === Object.prototype 

    也就是说函数的原型链也会指向对象原型。

  • L三毛
    2018-04-09 08:46:37

    1. js中的函数也是对象 (即 (function(){}) instanceof Object == true)

    2. 所有的对象都有自己的构筑函数

    3. 所有的函数都能当作构筑函数, 每个函数都有一个prototype属性

    4. 每个对象都有一个隐藏的o.__proto__属性指向它的构筑函数的prototype

    5. 于是所有的函数的原型都是Function.prototype (即 (function(){}).__proto__ === Function.prototype)

    6. 访问一个对象的属性时, 如果从这个对象里找不到, 就从obj.__proto__里找, 再找不到就继续从obj.__proto__.__proto__里找, 最终会到达Object.prototype