面试题
什么是原型和原型链?

什么是原型和原型链?

原型是JavaScript对象的继承机制。JS所有对象都有一个私有属性proto指向另一个名为原型的对象, 这个对象就是创建该实例的构造函数内的原型属性prototype。

原型对象也有一个自己的原型,这样就构成了原型链,层层向上直到一个对象的原型为 null。

根据定义,null 没有原型,并作为这个原型链中的最后一个环节。 JavaScript 中,万物皆对象,对象分为普通对象和函数对象。 所有的函数都是函数对象(typeof f === 'function'),其他都是普通对象(typeof o === 'object')。