// 创建一个原型对象 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 サイトの他の関連記事を参照してください。