نوع
عند استخدام typeof في كثير من الأحيان ، يكون تحديد ما إذا كان هناك متغير عالمي ، إذا حددت الصفحة متغيرًا عالميًا. إذا قمت بالحكم التالي:
.
الحل هو الكتابة على النحو التالي:
إذا (typeof haorooms! = غير محدد) {}بعد استخدام typeof ، لن يكون هناك خطأ! هذا هو واحد من أنواع التطبيقات!
بالإضافة إلى ذلك ، يمكن لـ TypeOF أيضًا إصدار أحكام على أنواع البيانات! على النحو التالي:
var harooms = "string" ؛ console.log (harooms) ؛ // stringvar harooms = 1 ؛ console.log (harooms) ؛ // numbervar harooms = false ؛ console.log (harooms) ؛ // booleanvar harooms ؛ console.log (typeof harooms) ؛ // unfinedvar harooms = null ؛ console.log (typeof harooms) ؛ // objectvar harooms = document ؛ console.log (typeof harooms) ؛ // objectvar harooms = [] ؛ console.log (harooms) ؛ // objectvar harooms = function () {} ؛ console.log (typeof harooms) // وظيفة بالإضافة إلى الحكم على أنواع البيانات ، يمكنك أيضًا الحكم على أنواع الوظائفمن الواضح ، بالنسبة للنوع ، باستثناء الأنواع الأربعة الأولى ، وإرجاع جميع أنواع الكائنات الفارغة ، والكائن ، والمصفوفة ؛
مثيل
يمكن استخدامه لتحديد ما إذا كانت صفيف.
var harooms = []
مُنشئ
المُنشئ هو المُنشئ الذي يعيد مُنشئ الكائن المقابل.
كيفية الحكم على أنواع البيانات المختلفة:
console.log ([] this.job = Job ؛ this.born = ولد ؛ } var haorooms = موظف جديد ("Bill Gates" ، "Engineer" ، 1985) ؛ console.log (harooms.constructor) ؛ // وظيفة الإخراج الموظف (الاسم ، JobTitle ، Born) {this.name = name ؛ this.jobtitle = Job ؛ this.born = ولد ؛}عن طريق الإخراج haorooms.constructor ، يمكن أن نرى أن المنشئ يعيد المُنشئ المقابل للكائن.
Object.prototype.toString
ذكرنا سابقًا أنه يمكننا استخدام سمة المنشئ لتحديد نوع الكائن. دعنا نتحدث عن الكائن.
Object.prototype.toString.apply ({}) // "[كائن كائن]" Object.prototy.toString.apply ([]) // "[كائن Array]" Object.prototype.toString.apply (nan) // "باستخدام هذه الطريقة ، يمكننا الحكم بشكل صحيح على النمط الأساسي للمتغير ، ولكن إذا كان نوعًا مخصصًا ، فلا يمكننا معرفة النوع الحقيقي ، لأن النتيجة ستظل [كائن كائن]
آخر
لدى jQuery أيضًا طريقة حكم النوع ، فيما يلي مثال
$ .iswindow (نافذة) // صحيح
كيف تفعل ذلك
core.js#479iswindow: function (obj) {return obj! = null && obj == obj.window ؛}لذا افتح كائنًا كهذا:
var goodwindow ؛ fakewindow = {} ؛ fakewindow.window = fakeWindow ؛ $. isWindow (fakeWindow) // trueلقد كذبت عليه.
ملخص
في JavaScript ، يجب عليك الحكم بشكل صحيح على الأنواع. عندما تدرسهم بعناية ، فهذا أمر مزعج حقًا. من المهم جدًا تصميم حكمك وفقًا لمواقف مختلفة. يجب أن نفكر أيضًا في كيفية الحكم على النوع الصحيح بأبسط طريقة. بالطبع ، لا يزال هناك العديد من الأشياء التي لم يتم تقديمها في هذه المقالة. على سبيل المثال ، طريقة isprototypeof. JavaScript هي لغة لها العديد من الأعباء التاريخية ، لكنها تتحسن باستمرار. عند استخدامه ، يجب أن تنتبه إلى العديد من الطرق من الشفرات ذات الوجهين. تذكر استخدامها بعناية.