function a(){
this.hello=function(){
alert("hello!");
}
}
a.prototype={
fuck:function(){
alert("oh fuck!");
},
hello:function(){
alert("hello 2!");
}
}
var b=new a();
b.fuck(); //oh fuck!
b.hello();//hello! 这里hello 没有被 a.prototype.hello 覆盖为何?
/*
也就是说 this.hello 并不是 prototype 成员,那么 this.hello 是什么呢?
*/
function a() {...} 相当于构造函数,在 new 的时候必然会执行一次
而楼主在构造函数里把原来的 hello 覆盖了,当然不再是 prototype 里面定义那个
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。