Классы и метод apply

256
21 марта 2017, 13:45

Вопрос по поводу 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;
Answer 1

Из описания метода apply

Метод apply() вызывает функцию с указанным значением this и аргументами переданными в виде массива (или array-like объекта).

Формальный синтаксис:

fun.apply(thisArg, [argsArray])

Из этого следует, что первый параметр - это значение, которое примет this внутри функции.

Второй параметр - это массив аргументов, которые будут переданы в вызываемую функцию.

Вызов

Person.apply(this, [name, skills]);

Эквивалентен вызову

Person(name, skills);

за исключением установки this.

READ ALSO
Использование fabric.js + web font loader

Использование fabric.js + web font loader

Использую fabricjs и несколько кастомных шрифтов для своего приложения

239
Реализация flex CSS на JavaScript

Реализация flex CSS на JavaScript

Подскажите есть ли реализация flex на JavaScript или с использованием препроцессоров CSS? Гуглил, не нахожу

297
Блок поделиться на сайте магазине

Блок поделиться на сайте магазине

на сайте магазине на страницах товара есть блок поделиться при клике на поделиться в facebook загружается логотип сайта, а не картинка товара,...

235
Gulp watch работает, но не обновляется less

Gulp watch работает, но не обновляется less

Работает корректно, но почему то нет автообновления стилей

249