انتقل إلى:

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

nested scopes intro in javascript

التوابع  (function) في JavaScript تستعمل لإنشاء مجالات جديدة (كل تابع يمثل مجال جديد خاص به) فعلى سبيل المثال,إن تعريف متغير داخل التابع لن يمكنك من استعماله داخل تابع آخر او من اي مجال خارج هذا التابع, وهذا مثال يوضح لك الفكرة:

function exampleFunction() {
    
    // هذا المتغير لا يمكن استعماله إلا ضمن التابع الحالي فقط
    // او أي تابع محتوى داخله
    var x = "متغير داخل التابع";  
    console.log("داخل التابع");
    console.log(x);
}

console.log(x);  // لا يمكن الوصول للمتغير من الخارج

بينما يستطيع التابع الوصول للمتغيرات المعرفة في مجال يقع خارجه او في المجال العام للبرنامج الخاص بك

var x = "انا متغير مُعرف خارج التابع";

exampleFunction();

function exampleFunction() {
    console.log("انا داخل التابع");
    console.log(x); // يمكن لمجال داخلي ابن ان يصل لمتغيرات مجال خارجي أب
}

console.log("انا خارج التابع في المجال العام");
console.log(x);

Learn more

General knowledge

Document Tags and Contributors

المساهمون في هذه الصفحة: mdnwebdocs-bot, laloshify
آخر مَن حدّثها: mdnwebdocs-bot,