永发信息网

JS问题,给对象添加属性和给对象的原型添加属性有什么区别?

答案:3  悬赏:0  手机版
解决时间 2021-02-14 15:05
JS问题,给对象添加属性和给对象的原型添加属性有什么区别?
最佳答案
假设有对象objece;
var object = function(){
    this.a = 1;
    this.b = 2;
}
然后我 var obj1 = new object();

这里的obj1就是对象,给对象obj1加一个属性 obj1.c = 3;
但是我再var obj2 = new object();这里的obj2并没有c这个属性;

但是我通过原型的方式加属性c; object.prototype.c = 3;
那么我var obj3 = new object();
obj3就有c这个属性

望采纳!追问那我给object.c=3
那var obj3 = new object(); obj3不是同样有c这个属性么?

我是想问object.c=3和object.prototype.c = 3
有啥区别追答object.c=3这样同样new出来的还是不会有c这个属性追问果然是这样
憋了好久的疑问终于知道了

能解释一下为什么直接写object.c=3时 new不出来么?

跪谢~!!!!!
全部回答
object.c=3 只是在这个对象上添加了属性c
object.prototype.c = 3 是在对象原型链上添加了属性c
通过new运算符构造出的实例的原型链指向构造函数的原型链
prototype是对类操作的,相当于把Object重构了,变成了有a,b,c三个属性的类,如果没经过重构,直接new一个obj3,就是只是开辟了一个之后两个参数的Object的内存空间,压根没c属性的内存空间,直接给obj3.c赋值会出错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国福利彩票中国体育彩票(石林路中铁逸都国
2017年怎样往欧洲汇款可以不受国内限制?
老家宅基地 城中村改造给410平米怎么分到我名
中国福利彩票中国体育彩票(开州大道与民兴路
郁可唯参加比赛时唱了哪些歌
铜导电为什么是物理变化?
中国福利彩票中国体育彩票(人民南路与黄杨巷
中国体育彩票(小屯路106号附近中国体育彩票)
在区域游戏里分为几点例如:材料投入、角色分
从合肥去济宁的鱼台县怎么走最方便?
王北方皮肤专科地址在什么地方,想过去办事
如果|X的绝对值等于0,那么X等于几
急!!我姓温老婆姓陈麻烦各位高人给我孩子起
label not found是什么意思
企业突发事件预警信息包括:(  )。A.财务
推荐资讯
笔记本电脑电源拔掉有翁翁声啥原因
四川省什邡市2017年小学招生办法
电视剧"娘道"片头曲的女声独唱是哪一个?
求防弹少年团的DNA百度云~
立厦置业第三家直营店地址在哪,我要去那里办
麻辣烫的热量很大吗?我怕但又想吃,会不会长太
苏州君宁新药开发中心有限公司地址在哪,我要
数学符号写法:大于等于的最小整数取一个有理
我是J6、375的刚跑不到8万公里出现了发动机动
女,60岁。全腹胀痛3个月,伴渐进性排便困难
蓬莱市刘家沟镇在什么地方啊,我要过去处理事
我想这样看着你的样子 王燕 这首歌讲的是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?