如下是我的对js原型链的理解javascript
问:说说原型链java
答:在js中,全部的对象是由函数构造而来的,全部的函数都有一个prototype属性,全部的对象都有一个隐式属性__proto__,而全部的函数也能够看做是对象。某个实例的隐式属性__proto__对会指向构造这个实例的函数原型prototype,而全部的函数或对象都是由js内置的Function函数或Object函数构造而来的,全部的对象或函数的隐式属性__proto__会指向内置的Function的prototype或Object的prototype,而全部的函数均可以看做是对象,因此Function.__proto__ 指向 Object.prototype,而Object.prototype.__proto__ 指向null函数
例子:spa
对象:prototype
let person = {name:'xiaoren',age:24} person.__proto__ === Object.prototype Object.prototype.__proto__ === null
函数:code
function f () {} let f1 = new f() f.prototype.__proto__ === Function.prototype.__proto__ Function.prototype.__proto__ === Object.prototype Object.prototype.__proto__ === null f1.__proto__ === f.prototype f.prototype.__proto__ === Function.prototype.__proto__ Function.prototype.__proto__ === Object.prototype Object.prototype.__proto__ === null