0
06
41
17
为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 原型相关一个问题?

javascript 原型相关一个问题?

三国纷争 2018-10-09 13:35:25
//codefunction Person(){};   Person.prototype.name = "Leon"; Person.prototype.age = 22; Person.prototype.say = function(){   alert(this.name + "," + this.age); }  var p1 = new Person();console.info(p1.__proto__.age = 30);console.info(p1.__proto__);//console30Person { name="Leon",  age=30,  say=function()}记得书中描述是不可通过__proto__修改原型的,为什么我自己测试完了,结果却是可以的?我们通过new Person()创建了一个Person对象p1,此时会在内存中为p1对象分配一块内存空间,在p1的内存空间中会有一个_proto_内部属性,这个内部属性是不能被访问的,它也指向Person原型。需要特别注意的是:原型中的值是不会被替换的,仅仅只是在属性查找时被对象自己空间中的同名属性所覆盖。

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

能用。强烈不建议使用。

标准明确规定,只有浏览器必须部署这个属性,其他运行环境不一定需要部署,而且新的代码最好认为这个属性是不存在的。因此,无论从语义的角度,还是从兼容性的角度,都不要使用这个属性


查看完整回答
反对 回复 2018-11-11

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号