【原型链索引问题】为何无法索引到a.p?

JS程序如下:
     function A(){       
     }


     function B(){
     }


     function C(){

        this.p = 3;

     }

     A.prototype = new B();
     B.prototype = new C();

     var a = new A();
     alert(a.p);        // 输出:undefined

 

按照原型链的说法:

     a = new A()

          |+

          |+ prototype = new B()

                          |+

                          |+ prototype = new C()

                                          |+ p = 3

 

【问题】程序无法索引到a.p,到底什么地方理解错了?

 

 

 

 

[quote]A.prototype = new B();
B.prototype = new C();[/quote]

修改为:

[code="java"]B.prototype = new C();

A.prototype = new B(); [/code]

[quote]A.prototype = new B();
B.prototype = new C();[/quote]

==>

[code="java"] B.prototype = new C();
A.prototype = new B();[/code]

因为在设定A.prototype的时候,B还未关联C.