ptrvch
@ptrvch
вебдев-энтузиаст. Django, AngularJS

Как пользоваться аргументом thisArg в методе ForEach?

Вот кусок кода, который работает как положено (закрашивает выбранные ячейки таблицы цветом):

function renderTour(league, $table, round) {
    var schedule = /*массив*/,
        home,
        away,
        $currentCell;
    schedule.forEach(function (match) {
        home = match[0] + 1;
        away = match[1] + 1;
        $currentCell = $table.find('tr:eq(' + home + ')>td:eq(' + away + ')');
        $currentCell.css('background-color',  'rgba(200, 100, 0, 0.2)');
    });
}


Когда пытаюсь вынести код в отдельную функцию, получаю ошибку: "$table is not defined":
function renderTour(league, $table, round) {
    var schedule = /*массив*/,
        home,
        away,
        $currentCell;
    schedule.forEach(highlight);
}

function highlight(match) {
    home = match[0] + 1;
    away = match[1] + 1;
    $currentCell = $table.find('tr:eq(' + home + ')>td:eq(' + away + ')');
    $currentCell.css('background-color', 'rgba(200, 100, 0, 0.2)');
}


В документации описано, что вторым аргументом можно добавить объект, на который функция будет ссылаться как на this. Однако примера употребления не указано, и я не вполне уверен как этим пользоваться, и вообще, то ли это, что поможет мне решить проблему.
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
что вторым аргументом можно добавить объект

Найдите отличие

schedule.forEach(highlight, $table);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
02 нояб. 2024, в 21:08
2000000 руб./за проект
02 нояб. 2024, в 20:34
40000 руб./за проект
02 нояб. 2024, в 20:05
800 руб./в час