Сообщение от Gvozd
|
свойство prototype функции-конструктора прототипом функции
|
Это не так:
var a = function() {}
a.prototype.hi = 1;
alert(a.__proto__ == a.prototype); // false
Сообщение от Gvozd
|
любая функция может быть функцией-конструкотором, если внетри нее используются конструкция this
|
Она может быть конструктором, даже если в ней не используется this.
Вообще, в спецификации есть довольно неплохие определения конструктора и прототипа:
Цитата:
|
Конструктор - объект типа Function, который создаёт и инициализирует объекты. Каждый конструктор обладает соответствующим объектом-прототипом, который используется для реализации наследования и разделяемых свойств.
|
Цитата:
|
Прототип - объект, используемый для реализации наследования структуры, состояния и поведения в ECMAScript. Когда конструктор создаёт объект, этот объект неявно ссылается на соответствующий этому конструктору прототип, чтобы использовать его для разрешения ссылок на свойства. Связанный с конструктором прототип доступен через выражение constructor.prototype, а свойства, добавляемые к прототипу объекта разделяются, посредством наследования, всеми объектами, разделяющими прототип.
|