Краткий анализ решения переменных изменений, вызванных асинхронным выполнением JavaScript
for (var i = 0; i <3; i ++) {settimeout (function () {console.log (i)}, 0);} консоль вывод: 333Это связано с тем, что когда метод выполняется, цикл FOR был выполнен, и каждый раз, когда он выполняется, это 3 вместо 1-2-3. В настоящее время мы можем использовать функцию немедленного выполнения для создания копии переменной для каждого цикла для Timer для решения этой проблемы.
for (var i = 0; i <3; i ++) {settimeout ((function () {var _i = i; return function () {console.log (_i)};}) (), 0); } Консоль вывод: 123Приведенный выше краткий анализ проблемы решения переменных изменений, вызванных асинхронным выполнением функций JavaScript, является всем контентом, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.