Uma breve análise da solução para as mudanças variáveis causadas pela execução assíncrona de JavaScript de funções
for (var i = 0; i <3; i ++) {setTimeout (function () {console.log (i)}, 0);} saída do console: 333Isso ocorre porque, quando o método é executado, o loop for foi executado e, cada vez que é executado, é 3 em vez de 1-2-3. No momento, podemos usar a função de execução imediata para criar uma cópia da variável para cada loop para que o timer ligue para resolver esse problema.
para (var i = 0; i <3; i ++) {setTimeout ((function () {var _i = i; retornar function () {console.log (_i)};}) (), 0); } Saída do console: 123A análise breve acima do problema de resolver alterações variáveis causadas pela execução assíncrona das funções JavaScript é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.