Показать сообщение отдельно
  #23 (permalink)  
Старый 26.08.2011, 22:16
Интересующийся
Отправить личное сообщение для yambbkru Посмотреть профиль Найти все сообщения от yambbkru
 
Регистрация: 22.08.2011
Сообщений: 28

Спасибо, kadabrik! Так стало понятней. А можно еще попутный вопрос? Я прочла уже несколько раз в учебнике и на этом сайте о наследовании в javascript. Но остались не понятые моменты. Допустим есть класс
function Obj1(c) {
this.a = c;
this.b = function() {alert(this.a);}
this.b();
}

При запуске
var myObj1 = new Obj1("1");

показывает сообщение 1. Теперь я хочу создать новый класс
function Obj2(c) {
this.d = c + [B]this.a[/B];
[B]this.b();[/B]
}

где this.a и this.b() - это свойство и метод объекта Obj1. Как мне связать эти эти объекты? Так?
Obj2.prototype = new Obj1("1")

Но тогда попутно создается и объект Obj1. Я читала про обходные пути, что мол создается объект, а функция-конструктор пустая или копируют свойства из первого объекта во второй...
А можно так связать объекты, что бы не создавать первый объект, а только взять его методы? Не скопировать, а как то сослаться не создавая его? Тем более строчка с прототипом должна быть написана вне обеих функций, я так поняла. Но было бы гораздо удобнее связать функции в теле второй функции Obj2. Так можно сделать? И еще вопрос. Что значит строчка
О1 = Obj1

? Как в этом случае ведут себя оба класса? Если в правый добавить свойства что будет? А если в левый? И что сделалось с прототипом?
Ответить с цитированием