مثال ـ براي درك رويدادهاي زمان بندي به نمونه زير كه يك ساعت مي باشد توجه نمائيد.
شئwindow امكان اجراي كدرا در بازه هاي زماني مشخص ميدهد .اين بازه زماني را ، رويدادهاي زمان بندي مي نامند.
دو متد اساسي جاوااسكريپت براي انجام اين عبارتنداز:
تابعي را پس از انتظار چند ميلي ثانيه مشخص اجرا ميكند.
مشابهsetTimeout() ولي اجراي تابع را بطور مداوم تكرار ميكند .
فرم كلي آن مطابق زيراست:
متدwindow.setTimeout() ميتواند بدون پيشوند window. استفاده شود.
اولين پارامتر يعني function يك تابعي است كه بايد اجرا شود.
دومين پارامتر يعنيmilliseconds تعداد ميلي ثانيه قبل از اجرا را مشخص ميكند.
مثال ـ دكمه اي كليك ميشود وپس از سه ثانيه پيغامي ازصفحه داده ميشود.
<button onclick="setTimeout(myFunction, 3000)">Try it <script> function myFunction() { alert('Hello'); } </script >
متدclearTimeout( ) اجراي تابع مشخص شده در setTimeout()را متوقف ميكند.
فرم كلي آن مطابق زيراست:
متد فوق ميتواند بدون پيشوندwindow. استفاده شود.
متدbdI>clearTimeout( ) از متغير برگشتي< setTimeout( )استفاده مي نمايد .اين متغير نشانه تابع درحال اجراست .فرم كلي آن مطابق زيراست:
اگر اجراي تابع قبلامتوقف نشده باشد، بااين متدcleraTimeout( ) ميتوان اجراي آنرا متوقف نمود.
مثال ـ مشابه با مثال بالا با قرار دادن دكمه توقف
<button onclick="myVar = setTimeout(myFunction, 3000)">Try it <button onclick="clearTimeout(myVar)">Stop it
متدsetInterval( ) اجراي يك تابع مشخص شده را در هر بازه زماني مشخص، تكرار مي نمايد.
فرم كلي متد مطابق زيراست:
متدwindow.setInterval() ميتواند بدون پيشوندwindow. استفاده شود.
اولين پارامتر، تابعي است كه بايد اجرا گردد .دومين پارامتر طول فاصله زماني بين هر اجرا را مشخص ميكند.
مثال ـ اين مثال تابعي بنام"myTimer" را هرثانيه يك بار مانند ساعت ديجيتال اجرا ميكند وزمان را نشان ميدهد.
setInterval(myTimer, 1000); function myTimer() { const d = new Date(); document.getElementById("demo").innerHTML = d.toLocaleTimeString(); }
هزار ميلي ثانيه يك ثانيه است.
در زير دو مثال ديگر براي استفاده از زمان بندي اجرا آمده است.
مثال ـ استفادهsetTimeout در سه مورد دنباله هم
مثال ـ ساعت ديجيتال