我在javasript权威指南上读到一句话:
JS读取对象o的属性p时候先检查o是否有名为p的属性,若没有再检查o的原型对象是否有一个名为p的属性。
function A(){ Date.call(); } function B(){ this.b=new Date(); } var a= new A(); //new运算符创建了一个新的空对象,并且设置了这个对象的原型。 //一个对象的原型就是它的构造函数的protoype属性的值。 A.prototype =new B(); document.write(a.b);//为什么输出undefined?
把A.prototype =new B();放在前面就搞定了