## مقدمة إلى توقيت BOM في JavaScript
تُعتبر واجهة نموذج كائن المتصفح (BOM) جزءًا مهمًا من بيئة JavaScript في المتصفح، حيث تقدم مجموعة من الوظائف التي تساعد في التعامل مع المتصفح نفسه. إحدى الميزات الرئيسية التي يقدمها BOM هي إمكانيات التوقيت، التي تتيح للمطورين تنفيذ تعليمات برمجية [شركة برمجة مصرية] في أوقات محددة أو على فترات زمنية متكررة.
### مفهوم توقيت BOM
توقيت BOM في JavaScript يشمل بشكل رئيسي دالتين: `setTimeout` و `setInterval`. هذه الدوال تُستخدم لجدولة تنفيذ التعليمات البرمجية بعد فترة زمنية معينة.
#### 1. `setTimeout`
دالة `setTimeout` تُستخدم لتنفيذ دالة أو جزء من الكود بعد فترة زمنية معينة تُقاس بالمللي ثانية.
**الصيغة الأساسية:**
setTimeout(function, delay, arg1, arg2, ...);
– `function`: الدالة التي سيتم استدعاؤها.
– `delay`: التأخير بالمللي ثانية قبل تنفيذ الدالة.
– `arg1, arg2, …`: (اختياري) الوسائط التي سيتم تمريرها إلى الدالة.
**مثال على `setTimeout`:**
setTimeout(function() {
console.log("Hello, World!");
}, 2000); // سيتم عرض "Hello, World!" بعد ثانيتين.
#### 2. `setInterval`
دالة `setInterval` تُستخدم لتنفيذ دالة أو جزء من الكود بشكل متكرر كل فترة زمنية معينة.
**الصيغة الأساسية:**
setInterval(function, interval, arg1, arg2, ...);
– `function`: الدالة التي سيتم استدعاؤها بشكل متكرر.
– `interval`: الفترة الزمنية بالمللي ثانية بين كل استدعاء للدالة.
– `arg1, arg2, …`: (اختياري) الوسائط التي سيتم تمريرها إلى الدالة.
**مثال على `setInterval`:**
setInterval(function() {
console.log("This message appears every 3 seconds.");
}, 3000); // سيتم عرض الرسالة كل ثلاث ثوانٍ.
### إدارة التوقيت
بالإضافة إلى جدولة المهام، من المهم القدرة على إيقافها. JavaScript توفر طريقتين لهذا الغرض: `clearTimeout` و `clearInterval`.
#### 1. `clearTimeout`
تُستخدم لإلغاء مؤقت تم إنشاؤه بواسطة `setTimeout`.
**مثال على `clearTimeout`:**
let timeoutId = setTimeout(function() {
console.log("This will not be logged.");
}, 5000);
clearTimeout(timeoutId); // تم إلغاء المؤقت قبل أن ينفذ.
#### 2. `clearInterval`
تُستخدم لإيقاف تنفيذ متكرر تم إنشاؤه بواسطة `setInterval`.
**مثال على `clearInterval`:**
let intervalId = setInterval(function() {
console.log("This will be logged multiple times.");
}, 1000);
setTimeout(function() {
clearInterval(intervalId); // سيتم إيقاف التنفيذ المتكرر بعد 5 ثوانٍ.
}, 5000);
### استخدامات عملية لتوقيت BOM
#### 1. تحديث الوقت الفعلي
يمكن استخدام `setInterval` لتحديث واجهة المستخدم بعناصر مثل الساعة التي تعرض الوقت الحالي كل [شركة برمجة مصرية] ثانية.
setInterval(function() {
let now = new Date();
console.log(now.toLocaleTimeString());
}, 1000); // تحديث الوقت كل ثانية.
#### 2. تأخير عمليات التحميل
يمكن استخدام `setTimeout` لتأخير تحميل أو إظهار عناصر الصفحة حتى بعد اكتمال تحميل الصفحة.
setTimeout(function() {
document.getElementById("welcome-message").style.display = "block";
}, 3000); // إظهار رسالة الترحيب بعد 3 ثوانٍ.
### خلاصة
توقيت BOM في JavaScript يوفر أدوات قوية لجدولة المهام وتأخيرها، مما يعزز من تفاعل وتجربة المستخدم في التطبيقات الحديثة. من خلال فهم كيفية استخدام `setTimeout` و `setInterval`، يمكن للمطورين تحسين أداء تطبيقاتهم وتحقيق تأثيرات بصرية وسلوكية مميزة.
