var x = 5;
if (true) {
var x = 10; // إعادة تعريف x
console.log(x); // 10
}
console.log(x); // 10 (الـ var تم تعريفه بالنطاق العام)
- نطاق الوظيفة: المتغيرات التي يتم تعريفها باستخدام
var
تكون مرتبطة بالوظيفة إذا كانت داخل دالة، أو تصبح عامة إذا كانت خارج أي دالة. - رفع المتغير (Hoisting): المتغيرات المُعلنة باستخدام
var
يتم رفعها إلى أعلى النطاق الوظيفي أو العام قبل تنفيذ الكود. أي يمكن استخدام المتغير قبل أن يتم إعلانه، لكنه سيعطى قيمة undefined
.