لنتحدث عن غير محدد أولاً:
المتغيرات في JavaScript من النوع الضعيف ، لذلك عند إعلان المتغيرات ، تحتاج فقط إلى استخدام الكلمة الرئيسية VAR. إذا كانت لغة مكتوبة بقوة مثل C ، إذا لم يتم تحديد القيمة الأولية عند إعلان متغير ، فسيتم إعطاؤها قيمة افتراضية ، مثل القيمة الافتراضية للمتغير int هي 0. ولكن في اللغات الضعيفة من النوع مثل JavaScript
var v1 ؛
هل يعطيه خطأ أم 0 ، أو "؟
لأنه لا يوجد نوع ، من المستحيل تحديد. في JavaScript ، لهذا المتغير الذي لا يحتوي على قيمة أولية بعد الحياة ، أعطها غير محددة. ومع ذلك ، فإن الفرضية هي أنه يجب إعلان هذا المتغير ، وسيحدث خطأ إذا لم يتم الإعلان عنه لمعرف. تحقق من الرمز أدناه.
VO = "VO" ؛ // قم بإنشاء متغير عالمي دون استخدام الكلمة الرئيسية VAR. إذا لم تقم بتعيين قيمة ، فسيتم الإبلاغ عن خطأ. كما هو موضح في ما يلي
// v1 ؛ // سيكون هناك خطأ
var v2 ؛ // undeifned
var v3 = "" ؛ // null
تنبيه (VO) ؛
// ALERT (V1) ؛ //
تنبيه (V2) ؛
تنبيه (V3) ؛
لنتحدث عن NULL:
لدى JavaScript العديد من الأنواع الأساسية ، والرقم ، والسلسلة ، والطليف ، والكائن. هناك حالتان لمتغيرات نوع الكائن. أحدهما هو أنه مثيل لكائن ، والآخر هو مرجع فارغ. يجب فهم الأصدقاء الذين يعرفون اللغات الموجهة نحو الكائنات مثل Java بسهولة. لكلا الحالتين ، نوعها هو كائن. فقط عندما يتم تعيين المتغيرات في JavaScript لهم
ستحدد نوعه ، مثل أدناه.
الرمز كما يلي:
var v1 = 1 ؛ var v2 = true ؛ تنبيه (typeof v1) ؛ // تنبيه الرقم (typeof v2) ؛ // boolean v2 = new date () ؛ تنبيه (typeof v2) ؛ // object v2 = "str" ؛ تنبيه (typeof v2) ؛ // string v2 = null ؛ تنبيه (typeof v2) ؛ //هدف
كما ترون ، يمثل NULL قيمة نوع كائن خاص في JavaScript ، والتي تستخدم لتمثيل مفهوم المرجع الفارغ. إذا تم الإعلان عن المعرف كنوع كائن ، ولكن لم يتم إعطاؤه مثيلًا في الوقت الحالي ، فيمكن تهيئته على أنه فارغ للاستخدام لاحقًا.
هذا ليس صحيحا بالضرورة تماما. ببساطة ، بالنسبة لجميع المتغيرات ، طالما لم يتم تحديد القيمة الأولية بعد الإعلان ، فهي غير محددة. إذا تم استخدام نوع الكائن لتمثيل مفهوم المرجع الفارغ ، يتم التعبير عنه بواسطة NULL.
فيما يلي بعض الإضافات:
NULL: لا تعني أي قيمة ؛
غير محدد: يشير إلى وجود متغير غير معلن ، أو متغير تم الإعلان عنه ولكن لم يتم تعيينه ، أو خاصية كائن غير موجودة. عامل == يعامل الاثنين على قدم المساواة. إذا كنت ترغب في التمييز بين الاثنين ، فاستخدم مشغل === أو typeof. كلاهما مدرج مع if (! كائن) {}.