تحليل موجز للحل للتغيرات المتغيرة الناجمة عن تنفيذ JavaScript غير المتزامن للوظائف
لـ (var i = 0 ؛ i <3 ؛ i ++) {setTimeOut (function () {console.log (i)} ، 0) ؛} إخراج وحدة التحكم: 333هذا لأنه عندما يتم تنفيذ الطريقة ، تم تنفيذ الحلقة من أجل ، وفي كل مرة يتم تنفيذها ، يكون 3 بدلاً من 1-2-3. في هذا الوقت ، يمكننا استخدام وظيفة التنفيذ الفورية لإنشاء نسخة من المتغير لكل حلقة لمؤقتها للاتصال بحل هذه المشكلة.
لـ (var i = 0 ؛ i <3 ؛ i ++) {setTimeOut ((function () {var _i = i ؛ return function () {console.log (_i)} ؛}) () ، 0) ؛ } إخراج وحدة التحكم: 123التحليل الموجز أعلاه لمشكلة حل التغييرات المتغيرة الناجمة عن التنفيذ غير المتزامن لوظائف JavaScript هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.