From 41c76addc97200aa71105773397aa4edd2af6b4c Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:44:35 +0100 Subject: unslug ar: move --- files/ar/glossary/scope/index.html | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 files/ar/glossary/scope/index.html (limited to 'files/ar/glossary/scope/index.html') diff --git a/files/ar/glossary/scope/index.html b/files/ar/glossary/scope/index.html new file mode 100644 index 0000000000..b2c80924a5 --- /dev/null +++ b/files/ar/glossary/scope/index.html @@ -0,0 +1,43 @@ +--- +title: المجالات +slug: Glossary/المجالات +translation_of: Glossary/Scope +--- +

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

+ +

nested scopes intro in javascript

+ +

التوابع  ({{glossary("function")}}) في {{glossary("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

+ + -- cgit v1.2.3-54-g00ecf