На данный вопрос уже ответили:
Подскажите, как в моем случае передавать в анонимную функцию новое значение переменной position в цикле. С let работает, но хотелось бы правильно организовать мой случай, где очевидно, что position принимает одно и тоже значение для всех функций.
var data = [];
var arr = [];
while(true) {
var position = data.push(Math.random()) - 1;
addFunction (function () {
data[position] = 0;
})
if (data.length>9) break;
}
function addFunction(fn) {
arr.push(fn);
}
setTimeout(function(){
arr.forEach(item => item())
},2000)
Решение понял сам, в данном случае анонимная функция не справляется с задачей:
var data = [];
var arr = [];
while(true) {
var position = data.push(Math.random()) - 1;
addPosition(data,position)
if (data.length>9) break;
}
function addFunction(fn) {
arr.push(fn);
}
function addPosition(data,position) {
addFunction (function () {
data[position] = 0;
})
}
setTimeout(function(){
arr.forEach(item => item())
},2000)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как с помощью javascript получить адрес сайта без доменного имени?
Возникла проблема с получением нужного цветаВ canvas нарисовала две фигуры