Показать сообщение отдельно
  #25 (permalink)  
Старый 27.08.2011, 00:02
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от yambbkru Посмотреть сообщение
есть класс
function Obj1(c) {
this.a = c;
this.b = function() {alert(this.a);}
this.b();
}

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

я хочу создать новый класс
function Obj2(c) {
this.d = c + this.a;
this.b();
}

где this.a и this.b() - это свойство и метод объекта Obj1.

А можно так связать объекты, что бы не создавать первый объект, а только взять его методы?

Не скопировать, а как то сослаться не создавая его?
см. красную строку
function Obj1(c) {
    this.a = c;
    this.b = function() {
        alert(this.a);
    }
    this.b();
}
var myObj1 = new Obj1("1");

function Obj2(c) {
    debugger
    this.d = c + this.a;
    this.b();
}

*!*
Obj2.prototype = myObj1;
*/!*

// создадим экземпляр второго объекта, чтобы проверить работоспособность
new Obj2('c');


выдает два алерта, в которых 1.

Сообщение от yambbkru Посмотреть сообщение
О1 = Obj1

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