Сообщение от Voronar
|
А то получается, что нужно сначала потратить память для создания объекта, а потом уже только я получаю возможность "наследования".
|
Короче, за пвмять особо не беспокойся. Так как на твой объект никто не ссылается, его загребет GC, но если это тебя беспокоит, можешь сделать вот так
function Interface() {};
Interface.prototype.p1 = "property1";
function Class() {};
Class.prototype = Interface.prototype
var obj = new Class();
alert(obj.p1);
Толко это не прокатит, если ты хочешь сделать Class реально наследником Interface, а не только наследовать от его прототипа. Но в твоем случае и так сойдет. То что ты написал, имеет смысл, только если
function Interface() {this.a=1; this.b=2};
Interface.prototype.p1 = "property1";
function Class() {};
Class.prototype = new Interface
var obj = new Class();
alert([obj.p1, obj.a, obj.b]);