يحتوي تعريف وظيفة JavaScript على ميزة ، والتي ستقوم أولاً بمسح بيان جسم الوظيفة بالكامل و "ترقية" جميع المتغيرات المعلنة إلى أعلى الوظيفة:
"استخدام صارم" ؛ وظيفة foo () {var x = 'hello ،' + y ؛ تنبيه (x) ؛ var y = 'bob' ؛} foo () ؛على الرغم من أنه وضع صارم ، فإن العبارة var x = 'hello' ، + y ؛ لا يبلغ عن خطأ ، لأنه يتم الإعلان عن المتغير Y لاحقًا. لكن التنبيه يظهر مرحبًا ، غير محدد ، مما يشير إلى أن قيمة المتغير y غير محددة. هذا بالتحديد لأن محرك JavaScript يحسن تلقائيًا من إعلان المتغير Y ، لكنه لا يزيد من تعيين المتغير Y.
بالنسبة لوظيفة FOO () أعلاه ، فإن الكود الذي يراه محرك JavaScript يعادل:
دالة foo () {var y ؛ // إعلان رفع المتغير y var x = 'hello ،' + y ؛ تنبيه (x) ؛ y = 'bob' ؛}نظرًا لهذه "السمة" الغريبة لجافا سكريبت ، عندما نحدد المتغيرات داخل وظيفة ما ، يرجى الالتزام الصارم بالقاعدة "لإعلان جميع المتغيرات أولاً داخل وظيفة". الطريقة الأكثر شيوعًا هي استخدام VAR لإعلان جميع المتغيرات المستخدمة داخليًا في الوظيفة:
دالة foo () {var x = 1 ، // x تتم تهيئة إلى 1 y = x + 1 ، // y تتم تهيئة إلى 2 z ، i ؛ // z وأنا غير محدد // بيانات أخرى: لـ (i = 0 ؛ i <100 ؛ i ++) {...}}المقال أعلاه حول تحسين الفهم المتعمق لمتغيرات JS هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.