بالنسبة لأي برنامج JavaScript ، عندما يبدأ البرنامج في التشغيل ، يقوم مترجم JavaScript بتهيئة كائن عالمي لاستخدامه في البرنامج. تشمل وظائف الكائنات العالمية التي يوفرها هذا JavaScript نفسه:
1. الكائن العالمي لديه بعض قيم الخصائص شائعة الاستخدام. مثل غير محدد ، اللانهاية و NAN.
2. الكائن العالمي لديه بعض كائنات السمات شائعة الاستخدام. على سبيل المثال ، تعد كائنات الرياضيات و JSON و NUMBER جميعها خصائص للكائن العالمي.
3. يوفر الكائن العالمي بعض الوظائف العالمية للاتصال. على سبيل المثال ، isnan () ، isfinite () ، parseint () و eval () ، إلخ.
4. يوفر الكائن العالمي بعض المُنشئين العالميين ، أي الطبقات العالمية. على سبيل المثال ، Date () و regexp () و string () و Object () و Array ().
بالإضافة إلى كائنات JS Global ، هناك كائن عالمي آخر لبرامج JavaScript التي تعمل على جانب المتصفح: نافذة. يوفر الكائن العالمي للنافذة العديد من السمات والأساليب المتعلقة بالنافذة والصفحة الحالية. بالإضافة إلى هذه الخصائص والأساليب العالمية ذات الصلة بالمتصفح ، يقوم كائن النافذة أيضًا بتغليف كائنات JS العالمية وتكشف خصائص وواجهات الكائنات العالمية JS إلى الخارج ؛ لذلك ، عند إجراء برمجة JavaScript من جانب المتصفح ، تحتاج فقط إلى الاهتمام بالكائنات العالمية للنافذة.
لهذا في برنامج JavaScript ، إذا كان هذا لا ينتمي إلى أي وظيفة ، فإن هذا يشير إلى كائن JS العالمي ؛ إذا كان برنامج JS يعمل على المتصفح ، فإن هذا يشير إلى الكائن العالمي للنافذة.
إذا كان هذا ينتمي إلى وظيفة ، فإن هذا يشير إلى الكائن الذي يدعو الوظيفة. إذا كانت الوظيفة مجرد وظيفة عادية في هذه الحالة ، وليس طريقة لفئة معينة ، فهناك احتمالان لهذا المرجع:
1. تحت الوضع غير الشريطي لمعيار ECMASCRIPT 3 ومعيار ECMASCRIPT 5 ، يشير هذا إلى الكائن العالمي.
2. تحت الوضع الصارم لمعيار ECMASCRIPT 5 ، يشير هذا إلى غير محدد.
بناءً على هذه الميزة ، يمكنك استخدام الكود التالي لتحديد ما إذا كنت في وضع صارم حاليًا:
نسخة الكود كما يلي:
var strict = (function () {return! this ؛} ()) ؛
إذا تم إنشاء متغير عالمي في برنامج JavaScript ، يصبح هذا المتغير العالمي خاصية في الكائن العالمي.
تجربة
نسخة الكود كما يلي:
var a = هذا ؛
console.log (a) ؛ // كائن نافذة
console.log (A.OUterWidth) ؛ // Access Window Compit
Console.log (A.Isnan) ؛ // Access JS Global Comple
x = "اختبار" ؛
console.log (ax) ؛ // الوصول إلى القيمة المتغيرة العالمية التي تم إنشاؤها حديثًا