Вопрос по поводу apply: можете описать более подробно какие аргументы должны передаваться в apply и какого общее предназначение?
Читал что устанавливает стандартное значение для this: так вопрос, в apply обязательно должен передаваться this первым аргументом, а вторым - значение, или как?
Толкового в сети ничего не нашел.
var Person, anotherPerson, thirdPerson;
Person = function(name) {
this.name = name;
};
thirdPerson = function(name, skills) {
Person.apply(this, arguments);
this.skills = skills || [];
};
thirdPerson.prototype.constructor = thirdPerson;
Из описания метода apply
Метод apply() вызывает функцию с указанным значением this и аргументами переданными в виде массива (или array-like объекта).
Формальный синтаксис:
fun.apply(thisArg, [argsArray])
Из этого следует, что первый параметр - это значение, которое примет this внутри функции.
Второй параметр - это массив аргументов, которые будут переданы в вызываемую функцию.
Вызов
Person.apply(this, [name, skills]);
Эквивалентен вызову
Person(name, skills);
за исключением установки this.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей