Показать сообщение отдельно
  #14 (permalink)  
Старый 15.03.2009, 15:56
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Сообщение от Gvozd
свойство prototype функции-конструктора прототипом функции
Это не так:
var a = function() {}

a.prototype.hi = 1;

alert(a.__proto__ == a.prototype); // false


Сообщение от Gvozd
любая функция может быть функцией-конструкотором, если внетри нее используются конструкция this
Она может быть конструктором, даже если в ней не используется this.

Вообще, в спецификации есть довольно неплохие определения конструктора и прототипа:
Цитата:
Конструктор - объект типа Function, который создаёт и инициализирует объекты. Каждый конструктор обладает соответствующим объектом-прототипом, который используется для реализации наследования и разделяемых свойств.
Цитата:
Прототип - объект, используемый для реализации наследования структуры, состояния и поведения в ECMAScript. Когда конструктор создаёт объект, этот объект неявно ссылается на соответствующий этому конструктору прототип, чтобы использовать его для разрешения ссылок на свойства. Связанный с конструктором прототип доступен через выражение constructor.prototype, а свойства, добавляемые к прототипу объекта разделяются, посредством наследования, всеми объектами, разделяющими прототип.

Последний раз редактировалось Андрей Параничев, 15.03.2009 в 16:00.
Ответить с цитированием