2011-03-25 7 views
1
function ClassA() { this.a=[]; this.aa=100; } 
function ClassB() { } 

ClassB.prototype = new ClassA; 
ClassB.prototype.b=function(){return "classbb"}; 

for (var l in ClassB.prototype){ 

    Array.prototype[l] = ClassB.prototype[l]; 
} 
var array1 = []; 
alert(array1.b()); 

어레이 상속 질문 자바 스크립트

Array.prototype으로 [L은 = ClassB.prototype [L]

Array.prototype으로 교체 할 수있는 [1] = 클래스 B [1]

? 누군가 나를 도울 수 있습니까? 감사.

답변

2

아니요, 불가능합니다. ClassB에는 재산이 없습니다 b, ClassB.prototype 있습니다.
의 경우 alert(array1.b());array1.bundefined

+0

@ wong2입니다. ClassB.b를 정의하려면 어떻게해야합니까? 감사합니다 – jsnewman

+0

@ jsnewman 당신이 뭘 원하는지 잘 모르겠다면 ... 당신은 ClassB.b를'function ClassB() {};로 정의 할 수 있습니다. – wong2

+0

@ wong2 :이 방법으로 쓸 수 있습니까? http : //jsfiddle.net/wquUC/ – jsnewman