// 创建一个原型对象 var prototypeObject = { speak: function() { console.log("Hello!"); } }; // 创建一个实例对象 var instanceObject = Object.create(prototypeObject); // 调用原型中的方法 instanceObject.speak(); // 输出: Hello!
prototypeObjectを作成します。
speakメソッドが含まれています。次に、
Object.create()メソッドを使用してインスタンス オブジェクト
instanceObjectを作成し、
prototypeObjectを
instanceObjectのプロトタイプに設定します。最後に、
instanceObjectを通じてプロトタイプの
speakメソッドにアクセスします。
Object) が見つかるか、プロトタイプ チェーンの先頭に到達するまで、プロトタイプ チェーンを検索します。 .prototype)まで。
// 创建一个原型对象 var parent = { speak: function() { console.log("Hello from parent!"); } }; // 创建一个子对象,并将parent设置为其原型 var child = Object.create(parent); // 调用原型中的方法 child.speak(); // 输出: Hello from parent!
parentを作成します。
話すメソッド。次に、
Object.create()メソッドを使用して子オブジェクト
childを作成し、
parentを
childのプロトタイプとして設定します。このように、
childオブジェクトは、プロトタイプ チェーンを通じて
parentオブジェクトの
speakメソッドを継承します。
// 创建一个Animal对象 function Animal(name) { this.name = name; } // 通过原型添加方法 Animal.prototype.speak = function() { console.log("Hello, my name is " + this.name); }; // 创建一个Dog对象,并继承Animal对象 function Dog(name) { Animal.call(this, name); } // 设置Dog对象的原型为Animal对象的实例 Dog.prototype = Object.create(Animal.prototype); // 通过原型添加方法 Dog.prototype.bark = function() { console.log("Woof!"); }; // 创建一个Dog对象实例 var dog = new Dog("Tom"); // 调用继承自Animal的方法 dog.speak(); // 输出: Hello, my name is Tom // 调用自身定义的方法 dog.bark(); // 输出: Woof!
Animalオブジェクトを定義し、それを に割り当てます。
speakメソッドを追加しました。次に、
Dogオブジェクトを定義し、
Animal.call()メソッドを通じて
Animalオブジェクトのプロパティを継承しました。次に、
Dog.prototypeを
Animal.prototypeのインスタンスに設定し、プロトタイプ チェーンの継承関係を実現します。最後に、
barkメソッドを
Dogオブジェクトのプロトタイプに追加しました。この設計により、
Dogオブジェクト インスタンスを作成するときに
Animalオブジェクトのメソッドを継承し、
Dogオブジェクトで独自のメソッドを定義できます。
以上がプログラミングにおけるプロトタイプとプロトタイプ チェーンの概念と応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。