السلام عليكم
قمت بكتابة كود لخوارزمية ترتيب النوم
http://ift.tt/1UqNFhO
ووجدت أن فكرتها جميلة بالفعل، هذا هو الكود
var array=[9,1,7,5,2,4,8,6,0,1,3,2,5];
var array_of_functions= [
function(){console.log(0);},
function(){console.log(1);},
function(){console.log(2);},
function(){console.log(3);},
function(){console.log(4);},
function(){console.log(5);},
function(){console.log(6);},
function(){console.log(7);},
function(){console.log(8);},
function(){console.log(9);}
];
for(var i=0;i<array.length;i++)
setTimeout(array_of_functions[array[i]],array[i]*10);
ولكن كنت أرغب بكتابته بالشكل التالي: var array=[9,1,7,5,2,4,8,6,0,1,3,2,5]; for(var i=0;i<array.length;i++) setTimeout(function(){console.log(array[i])},array[i]*10);
فلم ينجح وظهر لي تحذير لكودDon't make functions within a loop
فما سبب عدم عمل الكود، ولماذا لا يمكننا إنشاء تابع بداخل حلقة؟
وشكرًا
from حسوب I/O - الأكثر شيوعاً http://ift.tt/1N9cIa0
ليست هناك تعليقات:
إرسال تعليق
دائماً، رأيكم يهمنا،