2

そこで、私は JavaScript のプロトタイプである程度の牽引力を得ようとしています。基本的 に JavaScript のプロトタイプ継承についての 2 番目の例のようなものを試すことから始めました。現在、私は C++ で書いていたので、確かに親クラスから継承したい関数がたくさんあります。次のような関数の束を想像してください

function specificDevice(){
     this.codeNumber = 'abc123';
     this.wrapperDiv = window.parameters.dashboardDiv;
}

私はこれらの関数を山ほど持っていて、すべてうまくいきました - しかし、コードはちょっとばかげていました。だから、上記のリンクごとに、私は次のようなことをしました

function generalDevice(){
     this.codeNumber = 'abc123';
}

specificDevice.prototype = new generalDevice();

function specificDevice(){
     this.wrapperDiv = window.parameters.dashboardDiv;

     //just to check if this does what I think it does:
     alert(this.codeNumber);
     alert(this.wrapperDiv);
}

の新しいインスタンスを作成するとspecificDevice、アラートはまさに私が期待したもの (「abc123」) を吐き出し、以前に定義したものはすべてwindow.parameters.dashboardDiv完璧です! windowしかし、私は、オブジェクトから引き出されるメンバー変数にまったく類似していると私が考えたことをやろうとしました。上記は次のようになります。

function generalDevice(){
     this.codeNumber = 'abc123';
     this.wrapperDiv = window.parameters.dashboardDiv;
}

specificDevice.prototype = new generalDevice();

function specificDevice(){
     alert(this.wrapperDiv)
}

災害 - スクリプトは

'Cannot read property "dashboardDiv" of undefined'.

私は問題が専門家に明らかであることを願っています.なぜ私は自分window.parametersのものを物として喜んで認識するオブジェクトを作ることができますが、そのオブジェクトのプロトタイプはwindow.parameters存在しないと考えています?? 前もって感謝します。

4

0 に答える 0