关于函数原型对象,对象的构造函数

 我来答
户如乐9318
2022-06-16 · TA获得超过6625个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:135万
展开全部
函数原型对象prototype,对象的构造器constructor,对象的[[Prototype]]对象(浏览器中表示为-proto-,下文统一使用-proto-),涉及到对象构造,继承等一些概念,总有些搞不清,总结记录一下。

当一个函数使用new操作符来调用的时候,说明该函数作为了构造函数。new操作符会做以下几个操作。
1、新建一个对象,这时就需要原型对象了,每一个函数都有一个默认的原型对象,函数的prototype属性保存了它的引用,也就是Temp.prototype属性指向这个对象,默认情况下,该对象继承自Object,只有一个constructor属性,该属性在函数被创建时指向函数自身。使用new操作符时,使用这个对象生成一个新的实例。该实例的-proto-属性指向这个对象。
2、将函数的作用域赋予这个对象,也就是函数的this指向这个对象。
3、执行函数体内的内容,比如为这个对象添加属性和方法。如示例中的this.name = a
4、返回这个新对象。

构造函数作为对象构造器,类似于“类”,适用于创建有属性,有方法的对象。
使用示例:

对象原型中的属性和方法被所有实例共享,因此,一般在原型中设置方法,但属性在构造函数同设置,这个每个实例的属性就都是独立的。
除上述每个方法单独设置的方式外,也可以把所有的方法放在一个对象内设置。但一定要注意,不要忘了设置原型对象的constructor属性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式