تحلل هذه المقالة استخدام مهلة JS استدعاء SetTimeout و SetInterval المتقطعة. شاركه للرجوع إليه. التفاصيل كما يلي:
قرأت اليوم كتاب البرمجة المتقدمة (الإصدار الثالث) من JavaScript ووجدت أن SetTimeout أفضل من SetInterval ، وأعتقد أنه صحيح. عادةً ما أستخدم SetInterval لتقديم المزيد من النقاط ، لكن الآن ما زلت أكثر تفكيرًا. لقد تعلمت ذلك مرة أخرى. التحليل كما يلي:
يحتوي SetTimeOut على معلمتين ، والمعلمة الأولى هي الرمز الذي يتم تنفيذه ، والمعلمة الثانية هي الوقت.
يمكن أن تكون المعلمة الأولى سلسلة أو وظيفة ، ولكن يوصى باستخدام وظيفة بدلاً من سلسلة.
استخدام سلسلة يعادل طريقة eval. يسبب خسائر الأداء.
cleartimeout ()
يتم تنفيذ الكود المسمى Timeout في النطاق العالمي ، وبالتالي فإن قيمة هذا في الوظيفة تشير إلى كائن النافذة في الوضع الصارم ، وهي غير محددة في الوضع الصارم.
انسخ الرمز كما يلي: // setInval
var num = 0 ؛
var max = 10 ؛
var الفاصل = فارغ ؛
وظيفة GUTREMENTNUMPER () {
num ++ ؛
if (num == max) {
ClearInterval (Innervalid) ؛
تنبيه ("تم") ؛
}
}
الفاصل الزمني = setInterval (GrutrementNumber () ، 500) ؛
// setTimeout ينفذ نفس الوظيفة
var num = 0 ؛
var max = 10 ؛
وظيفة gutrementNumber2 () {
num ++ ؛
إذا (num <max) {
setTimeout (GerimentNumber2،500) ؛
}آخر{
تنبيه ("تم") ؛
}
}
setTimeout (GerimentNumber2،500) ؛
تُظهر المقارنة أعلاه أنه عند استخدام مكالمات المهلة ، ليست هناك حاجة لتتبع معرف استدعاء المهلة ، لأنه بعد تنفيذ كل رمز ، إذا لم يتم تعيين مكالمة مهلة أخرى ، فستتوقف المكالمة بنفسها.
يُعتقد عمومًا أنه إذا تم استخدام مكالمة المهلة لمحاكاة المكالمات المتقطعة ، فهذا نمط مثالي.
في بيئة التطوير ، هناك عدد قليل من المكالمات المتقطعة الحقيقية لأنه قد يتم بدء المكالمات المتقطعة الأخيرة قبل نهاية مكالمة الفجوة السابقة.
من الأفضل عدم استخدام المكالمات المتقطعة.
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.