Может кто-нибудь помочь мне с загадкой JavaScript?JavaScript - сохранение переменных внутри функций без вызова функций
Рассмотрим следующий код JavaScript:
var a[];
for (i=0;i<10;i++)
{
a[i] = function(){alert ("I am " + i);};
}
a[5]();
Теперь, очевидно, последняя строка вызовет предупреждение читать «Я 9», а не «я 5», так как значение i
является 9 в конце цикла for
.
Я хочу, чтобы предупреждение печатало «что это такое», но без изменения способа, которым я вызываю функции из массива, т. Е. Нет параметров.
Подсказка, которую я получил: попробуйте определить функцию, которая вызывает другую функцию.
Пожалуйста, помогите !!! Спасибо :-)
элегантный и хорошо объяснил и комментарий ниже! +1 –