JS中Function和Object的繼承關係

問題:JS中Function和Object的繼承關係?
回答:以下圖所示
JS對象函數

理解:
function Foo () {}
let foo = new Foo();
let obj = { show: function (){}};spa

1 new 產生的function/object無prototype
foo.__proto__ === Foo.prototype; // true
foo.prototype; // undefinedprototype

2 全部function/object的構造函數都繼承於Function.prototype
Foo.__proto__ === Function.prototype; // true
obj.show.__proto__ === Function.prototype; // true
Object.__proto__ === Function.prototype; // true對象

3 全部原型對象都繼承於Object.prototype,除了Object.prototype自己
Foo.prototype.__proto__ === Object.prototype; // true
obj.show.prototype.__proto__ === Object.prototype; // true
Function.prototype.__proto__ === Object.prototype; // true
Object.prototype.__proto__ === null; // true繼承

相關文章
相關標籤/搜索