问题:JS中Function和Object的继承关系?
回答:以下图所示函数
理解:
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继承