في بعض لغات البرمجة ، يكون لكل رمز في الأقواس نطاقه الخاص ، والمتغيرات غير مرئية خارج إعلان مقطع الكود الخاص بها. نِطَاق. بدلاً من javaScript ، يتم استخدام نطاق الوظيفة: يتم تعريف المتغيرات في جسم جسم الوظيفة وأي وظيفة من الجسم الوظيفي المتداخل بواسطة المتغير. في الكود التالي ، تم تعريف I و J و K في مواقف مختلفة ، يتم تعريفها في نفس الدور في نفس الدور
نسخ رمز رمز على النحو التالي:
نص الوظيفة (س)
{{
var i = 0 ؛
تنبيه (typeof o) ؛
إذا (typeof o == "سلسلة")
{{
var J = 0 ؛
لـ (var k = 0 ؛ k <10 ؛ k ++)
{{
تنبيه (ك) ؛
}
تنبيه (ك) ؛
}
تنبيه (ي) ؛
}
يشير مجال عمل وظيفة JavaScript إلى أن جميع المتغيرات المعلنة داخل الوظيفة مرئية دائمًا في جسم الوظيفة. ومن المثير للاهتمام ، هذا يعني أن المتغير متاح قبل الإعلان. يشار إلى خصائص javaScript بشكل مغرم على أنها عبارة ، أي أن جميع المتغيرات (غير المشاركة في المهمة) للوظيفة المعلنة من خلال وظيفة JavaScript متطورة إلى الجزء العلوي من جسم الوظيفة. انظر إلى الكود التالي
نسخ رمز رمز على النحو التالي:
var global = "globas" ؛
وظيفة Globals ()
{{
تنبيه (عالمي) ؛
var Global = "Hello Qdao" ؛
تنبيه (عالمي) ؛
}
نظرًا لخصائص نطاق الوظيفة ، يتم تعريف المتغيرات المحلية دائمًا في جسم الوظيفة بأكمله ، مما يعني أن المتغيرات داخل جسم الوظيفة تغطي المتغير العالمي الذي يحمل نفس الاسم. على الرغم من ذلك ، عندما يتم تنفيذ البرنامج إلى بيان VAR ، فإن المتغير المحلي سيكون مرتبطًا حقًا. يبقى زميل متغير في الوضع الأصلي
نسخ رمز رمز على النحو التالي:
var global = "globas" ؛
وظيفة Globals ()
{{
فار جلوبال
تنبيه (عالمي) ؛
Global = "Hello Qdao" ؛
تنبيه (عالمي) ؛
}