ホームページ >ウェブフロントエンド >jsチュートリアル >jsのpackage_javascriptスキルで使えるコンストラクタ継承利用の分析
この記事の例では、JS カプセル化で使用できるコンストラクター継承の使用法について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
まず次のコードを見てみましょう
(YUI) ライブラリで使用されるメソッド:
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = 子;
Child.uber = Parent.prototype;
}
コピー継承メソッド、属性コピーもあります:
このメソッドは前のメソッドとは異なります。子のプロトタイプの拡張が完了しているため、child.prototype.constructor プロパティは上書きされなくなりますので、リセットする必要はありません。
前の方法と比較すると、この方法は明らかに効率が若干劣ります。ここで実行されるのは、サブオブジェクトのプロトタイプを 1 つずつコピーすることであるためです。単純なプロトタイプチェーンクエリではなく。
このメソッドは、基本的なデータ型のみを含むオブジェクトにのみ適用できます。関数や配列を含むすべてのオブジェクト型はコピーできず、参照の受け渡しのみをサポートします。
var Shape = function(){}
var TwoDShape = function(){}
Shape.prototype.name = '形状';
Shape.prototype.toString = function(){
this.name を返します;
}
extend2(TwoDShape,Shape);
var t = new TwoDShape();
名前
//-->「形状」
t.toString();
//-->「形状」
TwoDShape.prototype.name = 'TwoDShape';
名前
//-->「2D 形状」
t.toString();
//-->「2D 形状」
TwoDShape.prototype.toString === Shape.prototype.toString
//-->true
TwoDShape.prototype.name === Shape.prototype.name
//-->false
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。