Сообщение от JSprog
|
Ошибся
|
В чём?
Сообщение от JSprog
|
Метод экземпляра может быть вызван для любого экземпляра класса, но это не значит, что каждый объект содержит собственную копию метода, как в случае свойства экземпляра. Вместо этого каждый метод экземпляра совместно используется всеми экземплярами класса
|
А, т.е. в этом случае:
function A(x) {
this.x = x;
this.getX = funciton () {
return this.x;
};
}
var a = new A(10);
var b = new A(20);
alert(a.getX()); // 10
alert(b.getX()); // 20
Объекты "а" и "b" будут иметь разное свойство "x", но одинаковый для обоих метод .getX? Или я не так понял?
Сообщение от JSprog
|
В JavaScript мы определяем метод экземпляра класса путем присваивания функции свойству объекта прототипа в
конструкторе.
Это касаетса только методов
|
Или ты имел в виду, когда метод описан в прототипе, только тогда он расшаривается между всеми экземплярами? А почему касается только методов? В чём тогда отличие от свойств? Свойство же тоже можно разместить в прототипе.
Сообщение от JSprog
|
Плюсик бы поставил тогда=)
|
А я ещё не полностью разобрался
В частности, не было объяснено, каким образом объект общается с прототипом, если A.prototype уже null? И, если, всё-таки, конструктор и .prototype могут быть null, то получается, это:
Сообщение от JSprog
|
Связь с конструктором так как дочерние объекты не копируют свойство а тольок "читают" его
|
не верно? Получается, объект связан с конструктором лишь на момент создания конструктором этого объекта. Дальше конструктор может быть уничтожен, так? Или я недопонял?