ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript_javascript スキルで継承されるメソッドとプロパティの例のリファレンス

JavaScript_javascript スキルで継承されるメソッドとプロパティの例のリファレンス

WBOY
リリース: 2016-05-16 18:21:42
オリジナル
1027 人が閲覧しました
プロトタイプ属性の役割:
プロトタイプ属性を使用して、オブジェクトのクラスの基本機能のセットを提供します。オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。

プロトタイプ属性の機能:
すべての JavaScript 内部オブジェクトには、読み取り専用のプロトタイプ属性があります。内部オブジェクトのプロトタイプに機能を追加できますが、オブジェクトに別のプロトタイプを与えることはできません。
ただし、ユーザー定義オブジェクトを新しいプロトタイプに割り当てることはできます。

コンストラクター属性の役割:
コンストラクターは、オブジェクトを作成する関数を表します。

コンストラクター プロパティの機能:
コンストラクター プロパティは、プロトタイプを持つすべてのオブジェクトのメンバーです。これらには、Global オブジェクトと Math オブジェクトを除くすべての JavaScript 内部オブジェクトが含まれます。
constructor 属性は、特定のオブジェクト インスタンスを構築する関数への参照を保持します。

A プロトタイプを使用してオブジェクトの属性を追加する [方法 1]
例:
コードをコピーコードは次のとおりです:

>

B プロトタイプを使用してオブジェクトの属性を追加する [方法 2]
例:



コードをコピーコードは次のとおりです。



C はプロトタイプを使用して親クラスのプロトタイプ属性を継承します
例:



コードをコピーします

コードは次のとおりです: <script> </u>function Person(_name){ </a>this.name = _name; </span>} </div>// オブジェクトを作成します (プロトタイプのプロトタイプ オブジェクトを変更するために使用されます) <div class="codebody" id="code13223">function addSex(_sex){ <br>this.sex = _sex; <br>} <br>// プロトタイプ オブジェクトを変更します<br>person.prototype = new addSex('male'); <br>var p = new Person( 'xugang'); <br>alert("p のプロトタイプは次のとおりです。" <br> //すべての属性を出力します<br>for(var i in p){ <br>//alert(p[ i]) <br>} <br><br>// ========= ======== 継承================ = <br>//サブオブジェクト Student <br>関数 Student(_study){ <br>this を作成します.study = _study; <br>} <br>// Student にプロトタイプを介して Person を継承させます <br>Student.prototype = new Person('Andy Lau') <br>var stu1 = new Student('JS'); <br>alert("stu1 のプロトタイプは次のとおりです: " stu1.constructor); <br>for(var i in stu1){ <br>alert(stu1[i]); <br>} <br></ script> <br><br> <br>Student オブジェクトのプロトタイプが person オブジェクトに変更され、 Person オブジェクトのプロトタイプが addSex に変更されるため、Student オブジェクトのプロトタイプは addSex になります。 <br>注意: オブジェクトのプロトタイプは、オブジェクトの新規作成時に決定されます。新規オブジェクトの作成後に変更すると、無効になります。 <br><br>D プロトタイプ オブジェクトとオブジェクトのコンストラクターを設定する方法<br>例: </div> <br><br><br><br>コードをコピー<br><br><div class="codetitle">コードは次のとおりです: <span><a style="CURSOR: pointer" data="52744" class="copybut" id="copybut52744" onclick="doCopy('code52744')"> <u><script type="text/javascript"> </u>function B(){ </a>this.name = "Andy Lau" </span>return "メソッド B"; </div>} <div class="codebody" id="code52744">function C(){ <br>this.age = 42; <br>return "C メソッド"; <br>B.prototype = new C() ; <br>var b = new B(); <br>b.constructor = B; // b のコンストラクターを B 自体に書き換えます<br>document.write("Constructor of b:"); .write(b .constructor() "<br/>"); <BR>document.write("b のプロトタイプ オブジェクトのコンストラクター メソッド: "); <BR>document.write(b.constructor.prototype. constructor() " <br/>"); <BR>for ( var m in b ) <BR>{ <BR>document.write("属性: " m ); : " b[ m] "<br/>"); <br>} <br></script>


結果は次のとおりです。
b の構築メソッド: B メソッド
b のプロトタイプ オブジェクトの構築メソッド: C メソッド
属性: age 値: 42
属性: name 値: Andy Lau

E オブジェクトにプロトタイプを保存するために使用される __proto__ 変数
例:




Firefox での結果は次のとおりです。
[object オブジェクト]
Super_person メソッド
Super_person メソッド
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート