高度なオブジェクト構築を作成するには 2 つの方法があります。「this」キーワード構築を使用する方法と、プロトタイプ プロトタイプ構築を使用する方法です。例:
//使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.bust; this.waist; this.hip; } //使用prototype function Girl(){} Girl.prototype.name = "big pig"; Girl.prototype.age = 20; Girl.prototype.standing; Girl.prototype.bust; Girl.prototype.waist; Girl.prototype.hip; alert(new Girl().name);
上記の例の 2 つの定義は、どちらも「Girl」オブジェクトの属性情報を定義します。 「this」と「prototype」の違いは主に属性アクセスの順序にあります。例:
function Test() { this.text = function() { alert("defined by this"); } } Test.prototype.test = function() { alert("defined by prototype"); } var _o = new Test(); _o.test();//输出“defined by this”
オブジェクトのプロパティまたはメソッドにアクセスするときは、プロトタイプ チェーンを検索するためのルールに従います。最初に独自の静的プロパティとメソッドを探し、次に構築コンテキストのアクセス可能なプロパティとメソッドを探し、最後に構築のプロトタイプ チェーンを探します。
「これ」と「プロトタイプ」の定義のもう 1 つの違いは、属性が異なる空間を占めることです。この例では、「this」キーワードを使用して、各インスタンスのコンストラクターに含まれるすべてのプロパティとメソッドに必要なスペースを初期化し、「prototype」定義を使用します。これは、「prototype」は実際には親への参照であるためです。データのコピーなので、「これ」よりも初期化と保存のリソースが節約されます。
以上がJavaScriptでカスタムオブジェクトを構築する例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。