EKCTPEMICT
@EKCTPEMICT
FrontEnd Developer

Почему в arguments метода попадает только 1 параметр?

Всем привет!
Делаю обертку над событиями, которые нужно отправлять разово в Google Analitycs. Идея - добавить функцию, которая после обработки удалит onclick.

// Real mock
    function gtag(arguments) {
        console.log(arguments);
    }
    
    const fire = (function () {
        return {
            gtag: function (arguments) {
                console.log('arguments', arguments); // получаем первый
                gtag(arguments); // тут будет вызов реального GTAG вместо мока
            },
            stop: function (context) {
                console.log(context.removeAttribute("onclick")); return false;
            }
        }
    })();

    console.log(fire.gtag('one','2',3)); // отправляем 3 параметра
  • Вопрос задан
  • 61 просмотр
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
Читаем это. Вариант 2: function (...arguments) {...}
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А сколько туда должно попасть? Параметр то указан только один - arguments.
Можете получить их массивом, function (...arguments) { }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@andreysuha
Что то знаю
Не очень хорошая практика называть аргумент arguments.

function test() {
      return [...arguments];
}

console.log(test(1, 2, 3)) // [1, 2, 3]


Почитайте про псевдо массив arguments
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы