Добрый день!
Подскажите пожалуйста, почему следующий код так работает:
var todayTimeTable = new timeTable();
function timeTable(){
this.showHeader = function(){
document.write("Расписание на сегодня<br />");
}
}
timeTable.prototype = new Array;
timeTable.prototype.showFirst = function(){
document.write(this[0]);
}
// var todayTimeTable = new timeTable(); - если создать объект здесь,то все методы работают
todayTimeTable.showHeader(); //Расписание на сегодня
todayTimeTable.push("Информатика"); // ошибка todayTimeTable.push is not a function
todayTimeTable.showFirst();
Точнее интересуют следующие вопросы:
почему объект в первой строке создается без проблем, хотя его "класс" описывается ниже?
почему в созданный объект не попадают методы, которые имеются в прототипе?
Если создать объект в коде ниже строк описывающих наследование, то объект будет содержать все методы.
Возможно, это простые вопросы, но я не могу самостоятельно найти на них ответы, помогите, пожалуйста, разобраться.