Answer

Answer

t.me/js_test

Ответ:

return

Объяснение:

Из подобной задачи, вы уже знаете, причина подобного результата заключается в том, что функция setTimeout создаёт функцию (замыкание), у которой есть доступ к внешней по отношению к ней области видимости, представленной в данном случае циклом, в котором объявляется и используется переменная i.

Теперь в функцию внутри setTimeout передается атрибут i_local и возвращается новая функция благодаря return , у которой есть доступ к переменной i_local.

Код для проверки:

const arr = [10, 12, 15, 21];
for (var i = 0; i < arr.length; i++) {
  setTimeout(function(i_local) {
    return function() {
      console.log('The index of this number is: ' + i_local);
    }
  }(i), 3000);
}

Report Page