我在下面有这段代码:
function me(){
this.age=30,
this.say=function(){return 'hello me'}
}
function child(){
this.hobby='sports'
}
child.prototype=new me();
var son=new child();
son.prototype=new me();
console.log(son.age);//30
console.log(son.__proto__.age);//30
console.log(son.constructor.prototype.age);//undefined
console.log(son.constructor.prototype.say())//exception
打印结果是,只有前 2 条日志打印出“30”,所有其他日志都打印出“未定义”,最后一行甚至在运行时抛出异常。
(1) 我期待他们都应该给我输出。为什么第 3 行打印“未定义”?
(2) 我希望“ proto ”和“constructor.prototype”都具有相同的效果,但实际上并非如此。