对原型链、原型对象的理解总结
发布网友
发布时间:2023-08-10 18:14
我来回答
共1个回答
热心网友
时间:2023-08-12 08:01
1.为什么需要原型对象?
我们知道当我们的构造函数中存在方法时,那么我们new的每一个实例都会开辟一个内存空间去存储这些方法,因为本身方法就是相同的,所以这叫造成了极大的内存浪费 此时我们渴望能够让这些实例对象共享方法。。。。所以原型对象就出现了。也就是说原型对象prototype的作用就是 共享方法
2.实现方法共享
加入我们现在有一个构造函数person,那么我们可以通过person.prototype.方法名 = function(){} 实现方法共享。
3.实例为什么能直接调用共享的方法
每个构造函数都有一个prototype对象,同样的每一个对象也都有一个属性__proto__ 这个属性是指向prototype的,所以实例调用方法的时候先在自身找,找不到再去指向的prototype
4.原型链
每个对象都有__proto__属性,原型对象也不意外,它的__proto__属性指向Object构造函数的prototype原型对象