コンストラクター関数「Animals」があります。これは、他のコンストラクター関数「Crocodile」と「Monkey」の名前空間です。
var Monkey = function(Animals) {
this.Animals = Animals;
};
Monkey.prototype.feedMe = function() {
this.Animals.feed();
};
var Crocodile = function(Animals) {
this.Animals = Animals;
};
Crocodile.prototype.feedMe = function() {
this.Animals.feed();
};
var Animals = function(zoo) {
this.zoo = zoo;
};
Animals.prototype.feed = function() {
//feed the animal
};
Animals.prototype.Monkey = function() {
this.Animals = Animals.prototype;
};
Animals.prototype.Monkey.prototype = Monkey.prototype;
Animals.prototype.Crocodile = function() {
this.Animals = Animals.prototype;
};
Animals.prototype.Crocodile.prototype = Crocodile.prototype;
私は次のことができるはずです:
var animals = new Animals("NY");
var monkey = new animals.Monkey();
monkey.feed();
monkey.feed() が関数ではないというエラーが表示されます。Animalコンストラクター関数内でMonkey関数を継承する方法に何か問題があると思いますが、私の人生では解決策を見つけることができませんでした。
これらの関数の名前を付けるために使用すべき正しい方法は何ですか?