js中原型链有什么用?
看了一下原型,说的也就是给对象添加一个属性而已。如果对象需要这个属性,直接在开始创建的时候添加不就行了吗?如果是某个实例需要这个属性,不如细化一下子类,在class中增加属性(es6)。有没有小伙伴说一下实际开发时必须用到的场景。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
看了一下原型,说的也就是给对象添加一个属性而已。如果对象需要这个属性,直接在开始创建的时候添加不就行了吗?如果是某个实例需要这个属性,不如细化一下子类,在class中增加属性(es6)。有没有小伙伴说一下实际开发时必须用到的场景。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
原型链无处不在,类的概念由原型链模拟,如果没有原型链,也就没有你说的父类。
你实际开发经常用到
toString
等方法,没有原型链,那你是都定义一遍吗?当访问对象a.b的时候,首先会查找当前对象的b属性,如果没有,然后依次按照
prototype
往上找直到找到Object.prototype
为止,没有则返回undefined
,所以说无处不在。就像你说的,谁用给谁添加,如果我有100个函数用了同一个方法,我是在这100个函数中重新定义好呢还是写一个公共类,每人用的时候调用一下就好。
js的想要调用公共类的方式就是继承原型。
比如原生的[].forEach()方法,之所以任意数组都能使用,是应为forEach()被定义在了数组的构造函数function Array(){}上,也就是数组的原型上;
比如 vue中使用 axios