الثلاثاء، 1 سبتمبر 2015

كود خوارزمية ترتيب النوم Sleep sort

السلام عليكم

قمت بكتابة كود لخوارزمية ترتيب النوم

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

ليست هناك تعليقات:

إرسال تعليق

دائماً، رأيكم يهمنا،