我在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();放在前面就搞定了
本文探讨了JavaScript中对象属性查找机制,特别是如何通过原型链来获取属性。通过具体示例解释了当对象自身不存在某属性时,JavaScript如何向上查找其原型对象以获取该属性。
507

被折叠的 条评论
为什么被折叠?



