var تعريف
آخر تحديث: 2026-10-13
var تعريف
| التصنيف | تصريح المتغيرات |
|---|
⚙️ المعاملات
| 变量名 | |
|---|---|
| 初始值 |
يعدّل القيمة الأصلية:لا (يُعيد قيمة جديدة)
⚠️ تحذير
💡 تلميح
🌐 دعم المتصفح
| المتصفح | |||||
|---|---|---|---|---|---|
| var | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| مدعوم في جميع المتصفحات الحديثة | |||||
🏷️ تصريحات ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
📚 دروس ذات صلة
❓ أسئلة شائعة
Qما الذي يُرفع بالضبط مع var؟
Aيُرفع الإعلان فقط، لا الإسناد. عند تنفيذ النطاق، يُسجَّل المتغير المُعلَن بـ var بقيمة undefined، لذا يمكنك قراءته قبل الإسناد دون خطأ وتحصل على undefined فقط؛ أما القيمة الفعلية فتُكتب عند بلوغ التنفيذ لهذا السطر.
Qلماذا يُفسد استخدام var في حلقة معالِجات الأحداث؟
Aلأن الحلقة تشترك في ربط var واحد، فيلتقط كل معالج استدعاء نفس المتغير. وعندما تُنفَّذ دوال الاستدعاء يكون الحلقة قد انتهت وتقرأ جميعها القيمة الأخيرة. التحويل إلى let يمنح كل تكرار نسخته الخاصة — وهو الحلّ الكلاسيكي لمشكلة الإغلاق.
Qهل ما يزال ينبغي استخدام var في المشاريع الجديدة؟
Aتقريباً أبداً. يمنحك let و const نطاقاً للكتلة، ويمنعان إعادة التعريف، ويوفران حماية المنطقة الميتة المؤقتة، مما يزيل أخطاء عصر var الأكثر شيوعاً. أبقِ على var فقط عند صيانة كود قديم جداً لا يمر بأداة ترجمة (transpilation).