false.toString () ؛ // 'false' [1 ، 2 ، 3] .ToString () ؛ // '1،2،3'function foo () {} foo.bar = 1 ؛ foo.bar ؛ // 1شيء واحد يساء فهمه غالبًا هو أنه لا يمكن اعتبار الثوابت الرقمية كأشياء ، ولكن في الواقع ، لا يزال من الممكن اعتبار الثوابت الرقمية كأشياء. وذلك لأن محلل JavaScript يخطئ عند تحليل مشغلي نقاط ويعاملهم كميزات عائمة.
2.ToString () ؛ // يرفع بناء الجملة
في الواقع ، لدينا العديد من الطرق لجعل ثابت رقمي ككائن.
2..TOSTRING () ؛ // يتم التعرف على النقطة الثانية بشكل صحيح 2 .toString () ؛ // لاحظ المساحة التي تركت إلى النقطة (2) .ToString () ؛ // 2 يتم تقييمه أولاً
كائن كنوع بيانات
يمكن استخدام الكائنات في JavaScript كجداول التجزئة ، وهي تحتوي بشكل أساسي على العلاقة المقابلة بين المفاتيح والقيم.
استخدم رمز {} لإنشاء كائن بسيط. سيرث هذا الكائن الذي تم إنشاؤه حديثًا من الكائن.
var foo = {} ؛ // كائن فارغ جديد // كائن جديد يحتوي على خاصية "اختبار" ذات قيمة 12var bar = {test: 12} ؛الوصول إلى خصائص الكائن
يمكننا استخدام طريقتين للوصول إلى كائنات JavaScript ، وهما مشغل DOT. ومشغل الدعامة [].
var foo = {name: 'Kitten'} foo.name ؛ // Kittenfoo ['name'] ؛ // inchtenvar get = 'name' ؛ foo [get] ؛ // Kittenfoo.1234 ؛ // syntaxerrorfoo ['1234'] ؛ // يعملآثار المشغلين هي نفسها تقريبًا ، والفرق الوحيد هو أن مشغل الدعامة يسمح بإعدادات ديناميكية للخصائص ويمكن أن تحتوي أسماء السمات على أخطاء في بناء الجملة. (تم شرح الحالة الثالثة في المثال أعلاه)
احذف خصائص الكائن
الطريقة الوحيدة لحذف خاصية هي استخدام الحذف ، وتعيين قيمة الخاصية على غير محدد أو فارغ ، فقط قم بإزالة القيمة المرتبطة بالخاصية ولا تحذف حقًا الخاصية نفسها.
var obj = {bar: 1 ، foo: 2 ، baz: 3} ؛ obj.bar = undefined ؛ obj.foo = null ؛ delete obj.baz ؛ for (var i in obj) {if (obj.hasownproperty (i)) {console.log (i ، '' + ') ؛ }}شريط الإخراج أعلاه غير محدد و foo null ، يتم حذف الباز فقط بالفعل.
يجب شرح هنا أن الحذف يمكنه فقط حذف السمات ، وليس المتغيرات. لذلك ، عند تحديد المتغيرات ، يجب أن نطور عادة جيدة في كتابة var. في أي وقت ، يجب الإعلان عن المتغيرات باستخدام الكلمة الرئيسية VAR. لأنه إذا لم تكتب VAR ، فسيكون المتغير مخطئًا للكائن العالمي وإنشاء خاصية جديدة.
يعطي هذا المثال الإجابة بوضوح تام ، A هو متغير ، و B هو مجرد خاصية لكائن عالمي.
خصائص الأشياء المسماة
var test = {'case': 'أنا كلمة رئيسية ، لذلك يجب أن نذكر كسلسلة "، حذف:" أنا كلمة رئيسية ، لذلك أنا أيضًا "// يرفع Syntaxerror} ؛يمكن تسمية خصائص كائن مع الأحرف أو السلاسل العادية. أيضًا نظرًا لتصميم خاطئ لمحلل JavaScript ، فإن طريقة التمثيل الثاني في المثال أعلاه ستلقي خطأ في ECMASCRIPT 5.
سبب الخطأ هو أن Delete هو كلمة رئيسية ، لذلك يجب تسمية ثابت السلسلة للتكيف مع الإصدار القديم من JavaScript Parser.