Написал такую штуку: Вопросы собственно в коде.
var Person = {
constructor: function(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
return this; //Что тут возвращает this? Все аргументы из фунцкии или что?
},
};
/________________________/
var WebDeveloper = Object.create(Person); //Тут пока всё более-менее понятно
WebDeveloper.constructor = function(name, age, gender, skills) {
Person.constructor.apply(this, arguments); //что делает apply? я читал, что устанавливает значение this в функции. Отсюда и вопрос: разве this это типо не ключевое слово а-ля var?
this.skills = skills || []; //что собственно тут устанавливается? skills или массив? пустой? и когда сработает skills, а когда массив? значение skills внутри функции теперь становится и значением skills которая за пределами функции - это я понял. ну а метод apply тут причем?
return this;
};
var developer = Object.create(WebDeveloper).constructor("Jack", 21, "male", ["html", "css", "js", "php", "mysql"]);
console.log– u_mulder Feb 14 '17 at 17:42console.log(this)например – u_mulder Feb 14 '17 at 17:43person.constructor.apply(this, arguments);->Person.constructor.apply(this, arguments);– Feb 14 '17 at 17:46