原型链继承和原理

141 阅读1分钟

查看原型链的方式可以从控制台来完整的查看

function Foo(){}
let foo = new Foo()
console.log(foo)

下面将为整理的原型整理如下

原型链继承原理图.jpg

我门知道每个js 对象都有一个隐式的__proto__原型属性,显示的原型属性是prototype.只有Object.prototype.proto 在未修改的情况下是null

根据上图举几个例子

  1. Object instanceof Object 结果是true Object的prototype属性是Object.prototype。Object本身是函数创建的,所以Object.proto =Function.prototype. 而Function.prototype的__proto__属性又指向Object.prototype

  2. Function instanceof Function

  3. Function instanceof Object

  4. Foo instanceof Object

  5. Foo instanceof Function

  6. Foo instanceof Foo

按照图中的原理理解下上面几个题。 第六个是 false. 其余都是true