Показать сообщение отдельно
  #1 (permalink)  
Старый 21.11.2011, 16:45
Новичок на форуме
Отправить личное сообщение для mat5978 Посмотреть профиль Найти все сообщения от mat5978
 
Регистрация: 12.10.2011
Сообщений: 6

наследование в javascript
Добрый день!

Подскажите пожалуйста, почему следующий код так работает:

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();


Точнее интересуют следующие вопросы:
почему объект в первой строке создается без проблем, хотя его "класс" описывается ниже?
почему в созданный объект не попадают методы, которые имеются в прототипе?

Если создать объект в коде ниже строк описывающих наследование, то объект будет содержать все методы.

Возможно, это простые вопросы, но я не могу самостоятельно найти на них ответы, помогите, пожалуйста, разобраться.
Ответить с цитированием