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

一个依旧没懂的js问题

一个依旧没懂的js问题

西兰花伟大炮 2017-03-19 22:08:05
function phone(name){             //this.name = "mi";             this.name = name;             this.price = function(){                 console.log("2000");             }         }         phone.prototype = {             name:"meizu",             price:function(){                 console.log("2500");             }         }         var buy = new phone('mi');         console.log(buy.name);         buy.price();既然先在构造器上查找,那buy.__proto__ == phone.prototype有什么用?
查看完整描述

1 回答

已采纳
?
千秋此意

TA贡献158条经验 获得超187个赞


怎么会先从构造器上查找呢,访问一个对象实例的属性会先从实例自身的属性开始查找,如果没有再通过__proto__访问其原型对象(即其构造函数的原型属性所指向的对象)进行查找,还没有就继续访问其原型对象的原型,顺着原形链一路找到Object.prototype如果还没有才返回undefined


查看完整回答
1 反对 回复 2017-03-19
  • 西兰花伟大炮
    西兰花伟大炮
    我脑袋秀逗了,是先找实例
  • 千秋此意
    千秋此意
    估计测试的时候眼花了?哈哈,其实关于原型链这些一搜就有很多讲的很好的文章了,我记得有一张那种流程图,可以很清晰的看完通过原型链查找属性的具体过程,你可以去找找看
  • 1 回答
  • 0 关注
  • 1059 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信