Здравствуйте!
function A(name, age){
this.name=name;
this.age=age;
};
var b = new A("Alex", 25);
document.write(b.name+"<br>"+b.age+"<br><hr>");
function Dev(name, age, skills){
A.apply(this, arguments); // ! ! ! ВОТ ИНТЕРЕСУЮЩИЙ ФРАГМЕНТ КОДА ! ! !
this.skills = skills || [];
};
var c = new Dev("Sam", 35, ["Coocing"]);
document.write(c.name+"<br>"+c.age+"<br>"+c.skills+"<br><hr>");
Собственно я понимаю, что
A.apply(this, arguments)
при вызове в конструкции
var c = new Dev( . . . )
будет указывать на объект
c
НО почему, когда я принудительно указываю например
A.apply(c, arguments)
результатом возвращается
undefined
! Смею предположить, что во время выполнения конструкции
. . . new Dev( . . . )
интерпритатор ещё не знает про объект
c
? Или дело в чём то другом?