Цитата:
|
Написать класс Cat, который наследуется от класcа Animal.
|
Чтобы написать "класс", нужно прежде всего написать конструктор, т.е. функцию, которая создает объект. У тебя ее нет.
Тебе надо хотя бы что-то типа этого:
function Cat(name) {
// Тут надо инициализировать объект
}
Cat.prototype = Object.create(Animal.prototype);
// На худой конец — Cat.__proto__ = Animal.__proto__;
У тебя же это:
/*
1. Вызываем функцию cat (которой не существует)
2. Результат кладем в переменную cat.
3. При попытке вызова п. 1 js ищет ф-цию cat, но находит неинициализированную перменную cat.
*/
var cat = new cat('Garfield');
/*
Никто так не делает, потому что этот способ устарел и не везде работает.
Но если используешь наследование через __proto__, то пиши его правильно (с двумя подчеркиваниями в начале и конце).
*/
cat._proto_ = animal;
/*
В принципе, это будет работать. Но лучше cat.__proto__.meow
*/
cat.meow = function() {
return "Cat" + this.name + "is saying meow";
};
Цитата:
|
руководствуясь статьей учебника написал код, который не работает
|
Статьей про prototype? Отдохни. Погуляй. Попей чаю. Перечитай.