English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
نطاق المتغير هو منطقة البرنامج حيث يتم تعريفه.
متغيرات JavaScript تحتوي على نطاقين فقط:
النطاق المحلي
النطاق العالمي
يحدد نطاق المتغير قابلية الوصول إليه (الرؤية).
المتغيرات المعلنة داخل الدالةLOCAL(محلي) النطاق، مما يعني أنه لا يمكن استدعاء أو تعديلها من خارج الدالة.
// لا يمكن استخدام cityName هنا function myFunc() { var cityName = "New Delhi"; // يمكن استخدام cityName هنا } // لا يمكن استخدام cityName هنااختبار لرؤية </>
المتغيرات المحلية تحتوي على نطاق الدالة، ولا يمكن الوصول إليها إلا من داخل الدالة.
بما أن المتغيرات المحلية يمكن التعرف عليها فقط داخل الدالة الخاصة بها، فإن يمكن استخدام متغيرات بنفس الاسم في دوال مختلفة.
تُنشأ المتغيرات المحلية عند بدء الدالة، ويتم حذفها عند إكمال الدالة.
المتغيرات المعلنة خارج الدالة في برنامجGLOBALالنطاق، مما يعني أن جميع السكربتات يمكن أن تستخدمها، سواء كانت داخل الدالة أو خارجها.
// تحديد المتغير العالمي var cityName = "New Delhi"; // يمكن استخدام cityName هنا function myFunc() { // يمكن استخدام هذا الكود أيضًا cityName } // يمكن استخدام cityName هنااختبار لرؤية </>
يمكن الوصول إلى المتغيرات العالمية من أي مكان في برنامج JavaScript.
في المثال التالي، سنقوم بإنشاء GLOBAL cityNameالمتغير. الدالة المحلية تحتوي على نفس الاسم.
// تحديد المتغير العالمي var cityName = "New Delhi"; function myFunc() { // تحديد متغير محلي، نطاق الدالة var cityName = "Jaipur"; document.writeln(cityName); } // إخراج المتغيرات العالمية والمحلية document.writeln(cityName); myFunc(); document.writeln(cityName);اختبار لرؤية </>
من خلال إخراجها إلى المستند، يمكننا رؤية أن قيمة المتغير تختلف بناءً على نطاقها، وأن القيمة الأصلية لم تتغير.
إذا تم تخصيص قيمة لمتغير لم يتم إعلانه بعد، فإنه سيصبح تلقائيًاGLOBAL (عالمي)المتغيرات.
هذا المثال سيقوم بإنشاء متغيرات عالميةcityName، حتى لو كانت القيمة قد تم توزيعها داخل الدالة أيضًا.
myFunc(); // يمكن استخدام cityName هنا function myFunc() { cityName = "New Delhi"; }اختبار لرؤية </>
لا تقم بإنشاء متغيرات عالمية بسهولة إلا إذا كان ذلك ضروريًا.
المتغيرات العالمية يمكن أن تغطي المتغيرات النافذة.
يمكن لأي دالة، بما في ذلك عميل النافذة، تغيير المتغيرات العالمية.
يملك JavaScript ثلاثة كلمات مفتاحية مختلفة لتحديد المتغيرات، مما يضيف طبقة من التعقيد إلى اللغة.
الفرق بينهما يعتمد على النطاق، التسريع وإعادة التخصيص.
الكلمات المفتاحية | النطاق | التسريع | يمكن إعادة تخصيصها | يمكن إعادة تعريفها |
---|---|---|---|---|
var | نطاق الدالة | نعم | نعم | نعم |
let | نطاق المربع | لا | نعم | لا |
const | نطاق المربع | لا | لا | لا |
باستخدامvarلا يمكن للمتغيرات المعلنة بكلمات المفتاح أن يكون لديها نطاق مربع.
يمكن الوصول إلى المتغيرات المعلنة في المربع من الخارج في المربع الداخلي:
{ var num = 50; } // num يمكن استخدامها هنا
باستخدامletيمكن للمتغيرات المعلنة بكلمات المفتاح أن يكون لديها "نطاق مربع".
لا يمكن الوصول إلى المتغيرات المعلن عنها في المربع من الخارج في المربع الداخلي:
{ let num = 50; } // num لا يمكن استخدامها هنا
إعلان المتغيرات مع constمعletمثل نطاق المربع.
{ const num = 50; } // num لا يمكن استخدامها هنا
لا يمكن تغيير قيمة المعادلة من خلال إعادة تخصيص، ولا يمكن إعادة تعريفها.
بداية حياة المتغيرات في JavaScript هي من التعليل.
سيتم حذف المتغيرات عند اكتمال الدالة،المحليةالمتغيرات.
عندما تغلق نافذة المتصفح،العالميةسيتم حذف المتغيرات، ولكن ستظل المتغيرات الجديدة المحمولة إلى نفس نافذة التصفح متاحة.