JavaScriptの非同期実行によって引き起こされる変数変化の解決策の簡単な分析
for(var i = 0; i <3; i ++){settimeout(function(){console.log(i)}、0);}コンソール出力:333これは、メソッドが実行されると、forループが実行され、実行されるたびに1-2-3ではなく3であるためです。現時点では、即時実行関数を使用して、各ループの変数のコピーを作成して、この問題を解決するために呼び出すことができます。
for(var i = 0; i <3; i ++){settimeout((function(){var _i = i; return function(){console.log(_i)};})()、0); }コンソール出力:123JavaScript関数の非同期実行によって引き起こされる変動する変化を解決する問題の上記の簡単な分析は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。