المتغيرات. نطاق التباين الوظيفي في JavaScript - المتغيرات العالمية والمحلية كيفية جعل جافا سكريبت عالمي متغير

المتغيرات

إعلان

قبل استخدام المتغير في JavaScript، يجب الإعلان عنها. يتم الإعلان عن المتغيرات باستخدام الكلمة الأساسية فار. بالطريقة الآتية:

فار الأول فار مبلغ

مرة واحدة باستخدام الكلمة الرئيسية فار، يمكنك إعلان العديد من المتغيرات:

يمكن دمج إعلان المتغيرات بتهيئة التهيئة:

var message \u003d "مرحبا"؛ var i \u003d 0، j \u003d 0، k \u003d 0؛

إذا لم يتم تحديد القيمة الأولية في عبارة VAR، يتم الإعلان عن المتغير، لكن قيمتها الأولية تظل غير مؤكدة (غير محددة) حتى يتم تغيير البرنامج.

إذا كان لديك خبرة في استخدام لغات البرمجة مع أنواع البيانات الثابتة، مثل C # أو Java، فقد تلاحظ أنه في إعلانات المتغيرات في لغة JavaScript، لا يوجد نوع إعلان. يمكن للمتغيرات في جافا سكريبت تخزين قيم أي نوع. على سبيل المثال، يسمح JavaScript بتعيين عدد من المتغيرات، ثم المتغير نفسه لتعيين سلسلة:

فار الأول \u003d 10؛ أنا \u003d "مرحبا"؛

باستخدام تعليمات Var، يمكنك إعلان نفس المتغير عدة مرات. إذا كان إعادة الإعلان يحتوي على تهيئة، فإنه يتصرف التعليمات الطبيعية تكليف.

إذا حاولت قراءة قيمة متغير غير مدار، فسيقوم JavaScript بإنشاء خطأ. في الوضع الصارم، المنصوص عليه من قبل معيار Ecmascript 5، فإن الخطأ متحمس أيضا عند محاولة تعيين قيمة متغير غير ضروري. ومع ذلك، تاريخيا وعند الأداء ليس في وضع صارم، إذا قمت بتعيين قيمة المتغير غير المعلن باستخدام تعليمات VAR، فسيقوم JavaScript بإنشاء هذا المتغير كخاصية كائن عالمي، وسوف يتصرف تقريبا بنفس الطريقة الصحيحة المعلن عن المتغير. وهذا يعني أنه لا يمكن الإعلان عن المتغيرات العالمية. ومع ذلك، يعتبر هذا عادة سيئة ويمكن أن يكون مصدرا للأخطاء، لذلك حاول دائما إعلان المتغيرات الخاصة بك مع var.

نطاق المتغير

النطاق (نطاق) المتغير هو جزء من البرنامج الذي يتم تعريف هذا المتغير به. يحتوي المتغير العالمي على نطاق عالمي - يتم تعريفه لبرنامج JavaScript بأكمله. في الوقت نفسه، يتم تعريف المتغيرات المعلنة داخل الوظيفة فقط في جسمها. يطلق عليهم المحليون ولديهم نطاق محلي. تعتبر معلمات الوظائف أيضا متغيرات محلية محددة فقط في جسم هذه الوظيفة.

داخل جسم الوظيفة، يحتوي المتغير المحلي على ميزة عبر متغير عالمي بنفس الاسم. إذا قمت بإعلان متغير محلي أو معلمة وظيفة تحمل نفس الاسم الذي يتغير فيه المتغير العالمي في الواقع، فسيتم إخفاء المتغير العالمي:

var نتيجة \u003d "Global"؛ وظيفة getResult () (var نتيجة \u003d "محلي"؛ نتيجة العودة؛)؛ console.log (GetResult ())؛ / / عرض "محلي"

أعلنت المتغيرات مع منطقة الرؤية العالمية، يمكن حذف تعليمات Var، ولكن عندما تعلن المتغيرات المحلية، يجب عليك دائما استخدام تعليمات VAR.

في جافا سكريبت، هناك ثلاثة مجالات الرؤية: نطاق عالمي، نطاق الوضوح. نطاق المتغير - هذا مؤامرة مصدر الرمز البرنامج الذي تكون المتغيرات والوظائف مرئية ويمكن استخدامها. النطاق العالمي يسمى رمز المستوى الأعلى.

المتغيرات العالمية

يسمى المتغير المعلن خارج الوظيفة أو الكتلة العالمية. المتغير العالمي متاح في أي مكان في التعليمات البرمجية المصدرية:

var num \u003d 5؛ Function Foo () (Console.log (Num)؛) FOO ()؛ // 5 console.log (num)؛ // 5 (Console.log (Num)؛ // 5)

المتغيرات المحلية

يسمى المتغير المعلن داخل الوظيفة المحلية. يتوفر المتغير المحلي في أي مكان داخل جسم الوظيفة الذي تم إعلانه فيه. يتم إنشاء المتغير المحلي في كل مرة من جديد عند استدعاء وظيفة ويتم تدميره عند إيقاف تشغيل الوظيفة منه (عند اكتمال الوظيفة):

وظيفة foo () (var num \u003d 5؛ console.log (num)؛) foo ()؛ // 5 console.log (TypeOf Num)؛ // غير معرف.

يحتوي المتغير المحلي على ميزة عبر متغير عالمي بنفس الاسم، مما يعني أنه سيتم استخدام المتغير المحلي داخل الوظيفة وليس عالميا:

var x \u003d "global"؛ // تدفق التحقق من الوظائف المتغيرة العالمية () (var x \u003d "محلي"؛ // المتغير المحلي مع نفس اسم المستند العالمي.WRITE (X)؛ // المتغير المحلي يتم استخدامه، وليس عالميا) تشيكالي ()؛ // \u003d\u003e "المحلي" حاول "

كتلة المتغيرات

يتسم المتغير المعلن داخل الكتلة باستخدام كتلة Let Keyment يسمى كتلة. يتوفر Block Variable في أي مكان داخل الكتلة التي تم الإعلان عنها:

دع Num \u003d 0؛ (دع num \u003d 5؛ console.log (num)؛ // 5 (دع الأسطوانة \u003d 10؛ console.log (num)؛ // 10) console.log (num)؛ // 5) console.log (num) ؛ // 0.

الإعلان المتكرر

إذا كنت تستخدم Var الكلمة الأساسية إعادة الإعلان عن المتغير بنفس الاسم (في نفس مجال الرؤية)، فلن يحدث شيء:

var a \u003d 10؛ فار أ. console.log (أ)؛ // 10.

إذا كان إعادة الإعلان مصحوبا بتهيئة، مثل هذه التعليمات بمثابة التعيين المعتاد لقيمة جديدة:

var a \u003d 10؛ var a \u003d 5؛ // نفس \u003d 5؛ console.log (أ)؛ // خمسة.

إذا كنت تستخدم Netword الكلمة الأساسية إعادة الإعلان عن المتغير بنفس الاسم (في نفس مجال الرؤية)، فسيتم سبب وجود خطأ:

var a \u003d 10؛ سمح // خطأ.

سلسلة من مناطق الرؤية

النظر في المثال التالي:

var num \u003d 5؛ وظيفة foo () (var num2 \u003d 10؛ شريط الوظيفة () (var num3 \u003d 15؛))

في هذا الرمز، ثلاثة مجالات نطاق: وظيفة العالم، النطاق FOO () ونطاق وظيفة الشريط (). في نطاق الرؤية العالمي، يتم تعريف وظيفة Num المتغيرة و FOO (). في نطاق FOO () دالة، يتم تعريف وظيفة Num2 المتغير والشريط ()، كما يتم تحديد متغير الأسطوانة من منطقة الرؤية العالمية أيضا. يحتوي وظيفة نطاق الشريط () على متغير NUM3 واحد، وهو متاح فقط داخل الدالة Bar (). في نطاق شريط البار ()، تتوفر المتغيرات من مجالات أخرى أيضا، لأنها آباء فيما يتعلق بها. يتم تقديم سلسلة من التطبيق على هذا المثال في الشكل أدناه:

في الشكل، يظهر نطاق مختلف من الرؤية من قبل مستطيلات ألوان مختلفة. تتوفر مجال الوضوح الداخلي في سلسلة مناطق الرؤية جميع المجالات الخارجية، ولكن لا يوجد شيء متاح لأي شيء من المناطق الداخلية من الرؤية.

يتم طلب سلسلة مناطق الرؤية. يبحث المترجم الفوري عن معرفات في سلسلة مناطق الرؤية نحو الخارج، ولكن ليس في الداخل. هذا يعني أن البحث عن الاسم يبدأ بمنطقة الرؤية حيث تم إجراء الاستئناف إلى المعرف. إذا تم اكتشاف اسم المعرف، فإن البحث يتوقف. إذا فشل الاسم في النطاق الحالي للعثور على اسم، فسيتم تنفيذ البحث في النطاق التالي (في الخارج)، وما إلى ذلك، وهكذا، معرف من مساحة الرؤية التي تم العثور عليها. إذا لم يتم العثور على المعرف في أي من تطبيقات JavaScript سيولد خطأ:

var str \u003d "global"؛ var num \u003d 5؛ وظيفة foo () (var str \u003d "محلي"؛ // المستخدمة المحلي المتغير strum num \u003d 10؛ // المستخدمة المتغير العالمي numb // تنبيه (x)؛ // خطأ. المتغير x ليس في أي مجال من منطقة الرؤية) فو ()؛ تنبيه (شارع)؛ // تنبيه "العالم" (الأسطوانات)؛ // 10.

إذا كانت في نص وظيفة المتغيرات القابلة للسمنة لتعيين القيمة، في وقت استدعاء الوظيفة، إذا لم يكن هناك متغير في منطقة الرؤية العالمية بنفس الاسم، فسيتم إنشاء متغير عالمي جديد:

وظيفة foo () (num \u003d 2؛) foo ()؛ / / تم إنشاء تنبيه متطابق عالمي جديد (NUM)؛ // 2.

لصق الإعلانات

في جافا سكريبت، تتوفر المتغيرات المعلنة في أي مكان على نطاقها، وهذا يعني أن المتغيرات مرئية حتى قبل إعلانها في التعليمات البرمجية. هذا جافا سكريبت ميزة إنه يطلق عليه بشكل غير رسمي الارتفاع: يتصرف قانون البرنامج كما لو أن تصريحات المتغيرات التي أثيرت ضمنيا (بدون تهيئة) على أعلى نسبة إلى نطاقها.

النظر في جزء التعليمات البرمجية التالية:

var str \u003d "global"؛ وظيفة foo () (تنبيه (str)؛ // غير محدد var str \u003d "محلي"؛ تنبيه (شارع)؛ // "محلي") فو ()؛

بالنظر إلى الكود، سيكون من الممكن أن نعتقد أن التنبيه الأول يجب أن يخرج السلسلة "العالمية"، لأن الإعلان عن شارع المتغير المحلي لم يكتمل بعد. ومع ذلك، يتم عرض القيمة غير المحددة. بفضل رفع القبول، تكون الوظيفة أعلى من تنفيذ التنفيذ أدناه، حيث يتم رفع إعلان المتغير إلى بداية الوظيفة:

Function Foo () (Var Str Str؛ // الإعلان عن المتغير المحلي في بداية وظيفة التنبيه (Str)؛ // هنا هو متاح، ولكن لم تتم تهيئته بواسطة STR \u003d "محلي"؛ // هنا يتم تهيئة تنبيه (شارع)؛ // هنا لديها قيمة متوقعة - "المحلية")

الأمر نفسه ينطبق على منطقة الرؤية العالمية، يتوفر المتغير المعلن من الأسفل في الأعلى:

تنبيه (الأسطوانات)؛ // غير محدد var num \u003d 10؛ تنبيه (الأسطوانات)؛ // 10.

آخر تحديث: 04/05/2018

جميع المتغيرات في JavaScript لها نطاق محدد، حيث يمكن أن يتصرف منها.

المتغيرات العالمية

جميع المتغيرات التي تم الإعلان عنها خارج الوظائف عالمية:

هنا، المتغيرات X و D هي عالمية. وهي متوفرة من أي مكان للبرنامج.

لكن المتغير Z ليس عالميا، لأنه يتم تعريفه داخل الوظيفة.

المتغيرات المحلية

المتغير المحدد داخل الوظيفة هو محلي:

وظيفة displaysquare () (var z \u003d 10؛ console.log (z)؛ اسمحوا ب \u003d 8؛ console.log (b)؛)

المتغيرات Z و B هي محلية، وهي موجودة فقط داخل الوظيفة. لا يمكن استخدامها خارج الوظائف:

DisplaySquare وظيفة () (var z \u003d 10؛ console.log (z)؛) console.log (z)؛ // خطأ، لأن Z غير محدد

عندما تنتهي الوظيفة من عملها، يتم تدمير جميع المتغيرات المعرفة في الوظائف.

إخفاء المتغيرات

ماذا لو كان لدينا اثنين من المتغيرات - واحدة عالمية، والآخر محلي، والتي لها نفس الاسم:

var z \u003d 89؛ وظيفة DisplaySquare () (var z \u003d 10؛ console.log (z)؛ // 10) displaysquare ()؛ // 10.

في هذه الحالة، سيتم استخدام الوظيفة في الوظيفة، والتي يتم تعريفها مباشرة في الوظيفة. وهذا هو، المتغير المحلي سوف يخفي العالم.

فار أو اسمحوا.

عند استخدام السماح للمشغل، يحدد كل كتلة رمز نطاقا جديدا يكون هناك متغير. على سبيل المثال، يمكننا تحديد المتغير في وقت واحد على مستوى الكتلة وعلى مستوى الوظيفة:

دع Z \u003d 10؛ وظيفة displayz () (دع Z \u003d 20؛ (دع Z \u003d 30؛ console.log ("كتلة:"، z)؛) console.log ("وظيفة:"، z)؛) displayz ()؛ Console.log ("Global:"، Z)؛

هنا، داخل وظيفة Displayz، يتم تعريف كتلة من التعليمات البرمجية التي يتم فيها تعريف المتغير Z. يخفي المتغير العالمي والمتغير Z، المعرفة على مستوى الوظيفة. في برنامج حقيقي يمكن أن تتحد الكتلة الوظيفة المتداخلة أو كتلة دورة أو إذا كان التصميم. ولكن في أي حال، تحدد هذه الكتلة نطاقا جديدا، لا يوجد متغير.

وفي هذه الحالة، سنحصل على استنتاج وحدة التحكم التالية:

كتلة: 30 وظيفة: 20 العالمية: 10

باستخدام المشغل VAR، لا يمكننا تحديد ذلك في وقت واحد مع المتغير بنفس الاسم والوظيفة، وفي كتلة التعليمات البرمجية في هذه الميزة:

وظيفة displaysquare () (var z \u003d 20؛ (var z \u003d 30؛ // خطأ! تم تعريف المتغير Z بالفعل بواسطة console.log ("كتلة:"، z)؛) console.log ("وظيفة:"، z )؛)؛)

وهذا هو، مع VAR، يمكننا تحديد متغير مع اسم واحد أو على مستوى الوظيفة، أو على مستوى كتلة الرمز.

الثوابت

كل شيء ينتمي إلى المشغل للسماح ينتمي إلى مشغل CONS يتيح لك تحديد الثوابت. تحدد كتل التعليمات البرمجية نطاق وضوح الثوابت، والثوابت المحددة على الكتل المتداخلة من التعليمات البرمجية إخفاء الثوابت الخارجية بنفس الاسم:

const z \u003d 10؛ وظيفة displayz () (const z \u003d 20؛ (const z \u003d 30؛ console.log ("كتلة:"، z)؛ //30) console.log ("وظيفة:"، z)؛ //20) displayz ( ) Console.log ("Global:"، Z)؛ // 10.

متغيرات غير ضرورية

إذا لم نستخدم هذه الكلمة الرئيسية عند تحديد المتغير في الوظيفة، فسيكون هذا المتغير عالميا. على سبيل المثال:

شريط الوظيفة () (FOO \u003d "25"؛) Bar ()؛ console.log (FOO)؛ // 25.

على الرغم من حقيقة أن خارج الوظيفة خارج شريط، لا يتم تعريف متغير FOO في أي مكان، ومع ذلك فهو متاح خارج الوظيفة في السياق الخارجي.

خلاف ذلك، إذا لم يتم تعييننا فقط قيمة المتغير، ولكنها ستحددها:

شريط الوظيفة () (var foo \u003d "25"؛) شريط ()؛ console.log (FOO)؛ // خطأ

الوضع الصارم.

يمكن أن يؤدي تعريف المتغيرات العالمية في الميزات إلى أخطاء محتملة. لتجنبها باستخدام وضع صارم أو وضع صارم:

"استخدم صارمة"؛ شريط الوظيفة () (FOO \u003d "25"؛) Bar ()؛ console.log (FOO)؛

في هذه الحالة، سنحصل على خطأ SyntaxError: معرف غير متوقع، يشير إلى أنه لم يتم تعريف FOO المتغير.

اضبط وضع الوضع الصارم بطريقتين:

    أضف "استخدام التعبير الصارم" إلى بدء رمز JavaScript، سيتم تطبيق وضع صارم على التعليمات البرمجية بأكملها.

    أضف "استخدام التعبير الصارم" إلى بداية وظيفة الجسم، ثم سيتم تطبيق وضع صارم فقط لهذه الميزة.

في جافا سكريبت.، هناك مجالان من الرؤية: المحلية والعالمية. ذلك يعتمد على المكان الذي يتم الإعلان عن المتغير، داخل الوظيفة أو خارج الوظيفة.

إذا تم الإعلان عن المتغير داخل الوظيفة، فستسمى المحلي إذا تم الإعلان عن المتغير خارج الوظيفة، ثم يسمى Global.

يوصي مفهوم البرمجة الحديث، بأن تكون جميع المتغيرات في البرامج النصية (البرامج) المحلية، وكان البرنامج نفسه فقط من الوظائف حيث تقوم كل وظيفة بأداء مهمة واحدة فقط. على سبيل المثال، في لغة برمجة الويب PHP أخرى، رفضوا عموما استخدام المتغيرات العالمية.

المتغيرات العالمية في جافا سكريبت

يتم الإعلان عن المتغيرات العالمية خارج الوظائف ويمكنك الاتصال بهم (الوصول) من أي وظيفة أو سلسلة برنامج.

فار روسيا روسيا \u003d "روسيا"؛ وظيفة GetValuerusSia () (تنبيه (روسيا)؛) GetValuerussia ()؛

هنا روسيا هي متغير عالمي، حيث يتم الإعلان عنها خارج الوظيفة. لإثبات أن المتغير عالمي، تحولنا إليها من الداخل العادة GetValualuerussia () وظائف باستخدام وظيفة التنبيه () التي تحولت قيمة متغير روسيا.

المتغيرات المحلية في جافا سكريبت

يتم الإعلان عن المتغيرات المحلية في JavaScript داخل الوظائف. يمكنك الوصول إلى المتغيرات المحلية فقط داخل الوظيفة التي تم إعلانها فيها.

وظيفة GetValuerussia () (Var روسيا؛ روسيا \u003d "روسيا"؛) تنبيه (روسيا)؛

في هذا المثال، لن يحدث شيء (لن تظهر النافذة مع نقش "روسيا")وإذا كنت تصفح البرنامج النصي من خلال وحدة التحكم، فسيخبرنا حقيقة أنه لم يتم تعريف متغير روسيا (غير محدد)، مما يعني أن تنبيه الوظيفة () تنبيه (وضع خارج الوظيفة) لا يرى متغير روسيا تم إنشاؤها داخل الوظيفة.

وظيفة getvaluerussia () (رو روسيا؛ روسيا \u003d "روسيا"؛ تنبيه (روسيا)؛) GetValuerussia ()؛

بعد وضع تنبيه الوظيفة () داخل الوظيفة ثم تسبب وظيفة GetValualuerussia ()، سنرى النافذة مع نقش "روسيا". تظهر لنا هذه الأمثلة أن المتغيرات المحلية لا يمكن تطبيقها إلا داخل الوظيفة التي يتم إنشاؤها فيها.

المتغيرات العالمية في جافا سكريبت

ما هو المتغيرات العالمية: المتغيرات "مرئية" في أي وقت من تنفيذ البرنامج، أينما يمكنك القراءة والكتابة فوقها.
عادة ما يتم تحديد المتغيرات العالمية في بداية البرنامج، خارج الكتل (())
في حالة JS، يتم تعيينها بعد البرنامج النصي، أو كل أنواع الوظائف

مرحبا \u003d "مرحبا"؛ / / اضبط المتغير العالمي والتحقق من ذلك
Document.Writeln ("-\u003e 1" + Hello + "كل واحد
")؛ // -\u003e 1 مرحبا كل واحد

إذا كان هذا صحيحا)
// إذا (خطأ)
{
Var Hello \u003d "Hello Dolly و"؛ // هو أيضا عالمية
العالم \u003d "العالم"؛ // عالمي
Var Control \u003d "، نستمر" // Global
Document.writeln ("-\u003e 1.2" + Hello + World + Cont + "
");
//1.
}
Document.writeln ("-\u003e 2" + Hello + World + Cont + "
");
// -\u003e 2 مرحبا دوللي والعالم، نستمر

المقدمة صحيح نحصل على الجواب

-\u003e 1 مرحبا كل واحد
-\u003e 1.2 مرحبا دوللي والعالم، نحن نستمر
-\u003e 2 مرحبا دوللي والعالم، نستمر

التنفيذ ينهار

وبالتالي، اتضح أن المنطقة العالمية، فارج لا يؤثر على أي شخص. يعتبر المتغير المذكور في البرنامج النصي خارج الإجراءات عالميا حتى لو كان نتوء بين قوسين () من بين قوسين () في حالة وجوده بالنسبة للكتلة وغيرها من المناطق ستبقى عالميا حتى داخل الدورات

الاستنتاجات، لفترة وجيزة

* بالنسبة للمتغيرات المستخدمة في مجال الرؤية العالمية، فإن وجود var غير مهم.
* كتل بعد إذا لم تقم بإنشاء منطقة الرؤية المحلية (كما يحدث في لغات أخرى)

محلي المتغيرات - المتغيرات المعرفة داخل الكتلة القابلة للتنفيذ (الوظائف) ولا تفوز على وظائف أخرى. والبيئة الخارجية، أي المنطقة العالمية.

صبي \u003d "jhone"؛
فعل \u003d "يقتل كيني"؛ // لذلك لدينا 2 متغيرات عالمية
وظيفة doit ()
{
لقد مرت بالفعل الختم - 1، ونغير البيانات عن طريق تغيير البيانات
فار الصبي \u003d "غاري"؛ // إنشاء المحلية
فعل \u003d "يساعدني"؛ // تغيير global.
;
Document.writeln ("- 2" + صبي + "" + DID + "
");
// - 2 غاري يساعدني
;
// الآن داخل الوظيفة، اضبط المتغيرات المحلية والعالمية
var good \u003d "كان صبي جيد
"؛ // محلي!
سيئة \u003d "يحب الفتيات السيئات
"؛ // عالمي
}
;
document.writeln ("- 1" + صبي + "" + فعل + "
");
// - 1 Jhone يقتل كيني
افعلها ()؛
// - 2 غاري يساعدني
document.writeln ("- 3" + صبي + "" + فعل + "
");
// - 3 Jhone يساعدني
;
إذا كان هذا صحيحا)
// إذا (! خطأ)
{
Document.writeln ("- 4" + جيد)؛
/ / إجراء هذه الكتلة سوف يسبب خطأ.
/ / نحن الآن في الخارج منطقة محلية الرؤية
// doit () وظائف، لذلك بالنسبة لنا تعيين عبر var
// متغير جيد ببساطة غير موجود
}
Document.writeln ("- 5" + سيء)؛
// - 5 يحب الفتيات سيئة

نتيجة:

1 Jhone يقتل كيني
- 2 غاري يساعدني
- 3 Jhone يساعدني
- 5 يحب الفتيات السيئين

المتغيرات المحلية في جافا سكريبت

* Var يعمل داخل الوظيفة، معلن عن متغير محلي. هذه مهمتها الرئيسية.

* JavaSprip يختلف تماما عن SI بالفعل هذا فقط (؟) داخل الوظيفة، تكون المتغيرات المحلية ممكنة.
* استخدام VAR أو عدم الاستخدام في النطاق العالمي يعتمد فقط على خبرة شخصيةوبعد لكن بالنسبة لي أنها ليست أفضل. في اللؤلؤ، وهذا ما يسمى استخدام صارم

\u003e\u003e\u003e للمتغيرات المستخدمة في منطقة الرؤية العالمية، وجود VAR

مهم. أولا، لا يمكن حذف "تختلف" (باستخدام حذف). ثانيا، يحدث حصانهم في "خط الصفر" (قبل "خط العمل")، حيث يتم تعيينها على الفور إلى غير محدد، وبعد ذلك فقط يمكن أن يحصل المتغير (وقد لا يتلقى) قيمة جديدة:

var glb_1 \u003d 1؛
إذا (خطأ) (var glb_2 \u003d 2؛ glb_3 \u003d 3؛)

تنبيه (GLB_1) // المحدد وتلقى القيمة 1
تنبيه (GLB_2) // غير محمل وأوصي "غير محدد"
تنبيه (GLB_3) // غير متغير على الإطلاق (لا var)، خطأ عند الاتصال