一.什么是原型和原型链?
1.原型:在js中,函数可以有属性。每个函数都有一个特殊的属性叫原型(prototype)
2.原型链:当调用某个函数的方法时,这个函数未定义这个方法,此时不会返回undefined,而是继续往原型链后面的原型去查找,只有查找不到,才返回undefined。
原理: 每个对象都有隐式原型(__proto__)和显式原型(prototype),对象的proto指向它原型对象上的prototype。原型链最终指向的是Object.prototype,他的__proto__为null
二.原型和原型链存在的意义是什么?
使得实例对象可以共享构造函数的原型属性和方法,可以节省内存,构造函数原型上的属性和方法越多,节省的内存就越大。