لفهم كائنات JavaScript ، يمكننا أن نبدأ من إنشاء الكائنات ، وعمليات الخصائص ، وطرق الكائن. لتلخيص ، ويشمل الوحدات التالية:
1. إنشاء كائن
1.1 قياس الكائن المباشر
الكمية المباشرة للكائن هي أسهل طريقة لإنشاء كائن ، وتتكون من عدة أزواج من الأسماء/القيمة:
var point = {x: 0 ، y: 0} ؛لا يوجد حد لأسماء السمة. يمكن أن تكون الكلمات الرئيسية JS أو أي سلاسل. إذا كان هاتان الحالتين ، يجب إرفاق السمات في اقتباسات مزدوجة:
var فارغ = {} ؛ va point = {x: 0 ، y: 0} ؛ var book = {"العنوان الرئيسي": "javaScript" ، "sub-title": "الدليل النهائي" ، "لـ": "All Audience" ، المؤلف: {FirstName: "Davide" ، lastName: "flanagan"}}} ؛من السهل جدًا إنشاء كائنات مباشرة ، ولكنه لا يتم استخدامه بشكل عام بهذه الطريقة. الكود منخفض القابل لإعادة الاستخدام. إذا كنت ترغب في استخدام الكائن في مكان آخر وقيم السمة مختلفة ، فافعل ذلك؟ هل يجب عليك إعادة إنشاء رمز آخر؟
1.2 إنشاء كائن من خلال جديد
قبل إنشاء كائن من خلال جديد ، يجب عليك أولاً إنشاء وظيفة ، ومعاملة جديدة تعامل هذه الوظيفة كمشارك. على سبيل المثال ، قم بإنشاء كائن شخص من خلال جديد:
وظيفة person () {// constructor} var person = new person () ؛تحتوي الأنواع البدائية في قلب لغة JavaScript جميعها على مُنشئين مدمجين:
var a = new array () ؛ var d = new date () ؛ var r = new regexp ("JS") ؛1.3 object.create ()
قبل أن نفهم طريقة إنشاء الكائن ، نريد أن نرى ما هو النموذج الأولي. يرتبط كل كائن JavaScript (باستثناء NULL) بكائن آخر. كائن "آخر" هو ما نسميه النموذج الأولي. يرث كل كائن سمات من النموذج الأولي.
جميع الكائنات التي تم إنشاؤها من خلال الكائن المباشر للكائن لها نفس كائن كائن النموذج الأولي. النموذج الأولي للكائن الذي تم إنشاؤه بواسطة الكلمة الرئيسية الجديدة والمُنشئ هو قيمة خاصية النموذج الأولي للمُنشئ. النموذج الأولي للكائن الذي تم إنشاؤه من خلال Array () هو Array.Protype ، والنموذج الأولي للكائن الذي تم إنشاؤه خلال تاريخ جديد () هو Date.prototype. تم تقديم النموذج الأولي هنا.
تحتوي طريقة كائن. إنشاء معلمتين. المعلمة الأولى هي النموذج الأولي للكائن والمعلمة الثانية اختيارية لوصف خصائص الكائن. إنه سهل الاستخدام ، فقط تمرير في كائن النموذج الأولي المطلوب:
var o1 = object.create ({x: 1 ، y: 2}) ؛ // النموذج الأولي هو object.prototypeإذا كنت ترغب في إنشاء كائن بدون نموذج أولي ، فيمكنك تمرير Null كمعلمة. الكائنات التي تم إنشاؤها بهذه الطريقة لا ترث أي خصائص ، ولا توجد طريقة مثل tostring:
var o2 = object.create (null) ؛ // لا نموذج أولي
إذا كنت ترغب في إنشاء كائن فارغ عادي ، فقم بتمريره مباشرة إلى كائن.
var o3 = object.create (object.prototype) ؛
إذا كان كائنًا مخصصًا ، فهو نفس الشيء مثل إنشاء كائن فارغ. تمرير اسم الكائن مباشرة. النموذج:
وظيفة person () {} var o4 = object.create (person.prototype) ؛2. إدارة السمة
2.1 الاستعلام والإعدادات الممتلكات
يمكن الحصول على خصائص كائن من خلال مشغل النقطة (.) أو قوس مربع ([]). إذا كنت تستخدم النقاط للحصول على السمة ، فيجب أن يكون اسم السمة مؤشرًا بسيطًا. لا يمكن أن تكون كلمة محفوظة ، مثل O.For أو O.Class.
AR مؤلف = book.Author ؛ // الصحيح var name = uptor.surname ؛ // تصحيح var title = book ["العنوان الرئيسي"] ؛ // صحيح var className = book.class ؛ //خطأ
يبدو بناء جملة الكائن ["Property"] أشبه بمصفيف ، باستثناء أن عناصر هذه الصفيف يتم فهرستها بواسطة سلاسل بدلاً من الأرقام. هذا النوع من المصفوفة هو ما نسميه صفيف ترابط ، والمعروف أيضًا باسم التجزئة أو الخريطة أو القاموس. كائنات JavaScript هي صفائف نقاط.
نظرًا لأن الكائن عبارة عن مجموعة نقاطية ، فإن JavaScript يوفر لنا أيضًا طريقة لـ/In to Traverse Properties. يستخدم المثال التالي لـ/in لحساب القيمة الإجمالية للمحفظة:
وظيفة getValue (Portfolio) {var total = 0.0 ؛ لـ (stock in portolio) {var shares = portolio [stock] ؛ var price = getQuote (stock) ؛ إجمالي += الأسهم * السعر ؛ } إجمالي الإرجاع ؛}الميراث: تحتوي كائنات JavaScript على خصائصها الخاصة ، ويرث بعض الخصائص من كائنات النموذج الأولي. دعونا أولاً نلقي نظرة على وظيفة وراثة تنفذ الميراث:
دالة مورث (p) {if (p == null) رمي typeerror () ؛ // p هو كائن ، لا يمكن أن يكون فارغًا إذا (object.create) {return object.create (p) ؛ // استخدم mother.create method mathip} var t = typeof p ؛ if (t! == "Object" && t! == "function") رمي typeerror () ؛ دالة f () {} ؛ f.prototype = p ؛ // قم بتعيين سمة النموذج الأولي الخاص به على p return new f () ؛}لنفترض أنك تريد الاستعلام عن السمة x من الكائن o. إذا لم يكن X موجودًا في O ، فستستمر في الاستعلام عن السمة X في كائن النموذج الأولي لـ O. إذا لم يكن هناك X في كائن النموذج الأولي ، ولكن يحتوي كائن النموذج الأولي أيضًا على نموذج أولي ، ثم استمر في تنفيذ الاستعلام على النموذج الأولي لكائن النموذج الأولي حتى يتم العثور على x أو العثور على كائن فارغ.
var o = {} ؛ // Oinherit Object Attribute Ox = 1 from Object.prototype ؛ // تحديد سمات x لـ o var p = الوراثة (O) ؛ // pinherit o و Object.prototypep.y = 2 ؛ // pdefine سمة yvar q = الوراثة (p) ؛ // Qinherit P ، O and Object.prototypeq.z = 3 ؛ // تحديد السمة zvar s = q.toString () ؛ // tostring يرث من Object.ProtytypeQ.x + qy // => 3: x و y الوراثة من o و p على التوالي2.2 حذف السمات
يمكن لمشغل الحذف حذف خصائص الكائن:
حذف Book.Author ؛ حذف كتاب ["العنوان الرئيسي"] ؛
يمكن للحذف فقط حذف سماته الخاصة ، ولا يمكن حذف السمات الموروثة. لحذف خاصية ورثية ، يجب حذفها من كائن النموذج الأولي الذي يحدد الخاصية ، وهذا يؤثر على جميع الكائنات الموروثة من النموذج الأولي. الحذف سوف يعود صحيح.
ar o = {x: 1} ؛ حذف ox ؛ // حذف X وإعادة Truedelete Ox ؛ // X لم يعد موجودًا ، لا يوجد شيء ، عودة صحيح. حذف O.ToString ؛ // لا تفعل شيئًا ، فأعود صحيحًا. لا يمكن حذف حذف السمات بنوع قابلة للتكوين خطأ. خصائص بعض الكائنات المدمجة غير قابلة للتكوين ، مثل خصائص الكائن العالمي الذي تم إنشاؤه من خلال إعلانات متغيرة وإعلانات الوظيفة: حذف الكائن. // لا يمكن حذف هذه الخاصية الوظيفة f () {} حذف this.f ؛ // لا يمكن حذف الوظيفة العالمية2.3 اكتشاف الخصائص
لتحديد ما إذا كانت خاصية موجودة في كائن ما ، يمكن اكتشافها من قبل المشغل في أساليب HasownProperty () و propertyisenumerable ().
في المشغل: المشغل هو اسم الخاصية على اليسار والكائن الموجود على اليمين. إرجاع صحيح إذا كانت السمة الخاصة بالكائن أو السمة الموروثة تحتوي على سمات:
var o = {x: 1} ؛ "x" in o ؛ // صحيح: x هي السمة "y" في o ؛ // false: y ليست السمة "tostring" في o ؛ // صحيح: o يرث سمة tostringطريقة hasownproperty (): يكتشف ما إذا كان الاسم المحدد هو خاصية الكائن الخاصة. من أجل السمة الموروثة ، ستعود كاذبة:
var o = {x: 1} ؛ o.hasownproperty ("x") ؛ // true: O لديها خاصية مجانية xo.hasownproperty ("y") ؛ // false: لا يوجد خاصية yo.hasoenProperty ("tostring") ؛ // false: tostring هو خاصية ميراثPropertyIsenumerable () الطريقة: هي نسخة محسّنة من HasownProperty. لن يعود صحيحًا إلا إذا تم اكتشاف العقار الخاص ويتم اعتبار هذه الخاصية صحيحًا:
var o = errant ({y: 2}) ؛ ox = 1 ؛ o.propertyisEnumerable ("x") ؛ // True: O لديها خاصية متعددة xo.propertyiserable ("y") ؛ // false: y هو الكائن الموروث. النموذج الموروث. // false: لا يمكن أن يكون التعداد2.4 خصائص التعداد
عادة ، يتم استخدام/In in للحلق من خلال خصائص الكائن ، وتشمل الخصائص التي تم اجتيازها خصائصها وخصائصها الموروثة. الأساليب المدمجة لميراث الكائن ليست قابلة للاسترداد ، ولكن الخصائص المضافة إلى الكائنات في الكود لا يمكن تعدادها. على سبيل المثال:
var o = {x: 1 ، y: 2 ، z: 3} ؛ // ثلاث خصائص قابلة للوقوف O.PropertyIsEnumable ("ToString") ؛ // false ، لا يمكن تعداده لـ (p في o) // نقل خاصية console.log (p) ؛ // الإخراج x ، y و z ، لا يوجد إخراج tostringفي بعض الأحيان نريد فقط التكرار على خصائصنا الخاصة ، والخصائص ليست وظائف:
لـ (p in o) {if (! o.hasownproperty (p)) متابعة ؛ إذا (typeof o [p] === "وظيفة") متابعة ؛}يمكننا نسخ سمات التعداد من خلال وظيفة عبور التعداد:
/** انسخ سمات التعداد في p في o وإرجاع o* إذا كانت O و P تحتوي على سمات من نفس الاسم ، والكتابة فوق السمات في O* هذه الوظيفة لا تتعامل مع getters و setters وسمات نسخ*/وظيفة تمديد (o ، p) {for (prop in p) {// نقل جميع السمات في p o [prop] = p [prop] ؛ // إضافة سمات إلى O} إرجاع O ؛}يحدد ES5 وظيفتين تعدد أسماء السمات. الأول هو object.keys () ، الذي يرجع صفيفًا مكونًا من أسماء السمات التعداد في الكائن. وظيفة التعداد الثانية هي Object.GetOwnPropertyNames () ، والتي تشبه Object.keys () ، والتي تُرجع جميع خصائص الكائن الخاصة ، وليس فقط خصائص التعداد.
3. سمة تغليف
3.1 السمات getter و setter
تتكون سمات الكائن من أسماء وقيم ومجموعة من السمات. في ES5 ، يمكن استبدال قيم السمات بواحدة أو طريقتين ، وهما getters و etters. تسمى السمات المحددة من قبل getters والمستقبين "سمات الإكسسوارات". على عكس "سمات البيانات" ، فإن سمات البيانات لها قيمة بسيطة واحدة فقط.
على عكس سمات البيانات ، فإن سمة الملحق غير قابلة للكتابة. إذا كان للعقار أساليب Getter و Setter ، فهو خاصية قراءة/كتابة. إذا كانت تحتوي على أساليب Getter فقط ، فهي خاصية للقراءة فقط ، إذا كانت تحتوي على أساليب Setter فقط ، فهي خاصية للكتابة فقط. قراءة سمات الكتابة فقط تُرجع دائمًا غير محددة.
بناء جملة تعريف سمة الإكسسور بسيطة نسبيا. لا يستخدم تعريف الوظيفة الكلمة الرئيسية للوظيفة ، ولكنه يستخدم GET أو تعيين:
var o = {// سمة البيانات العادية data_prop: 1 ، // accessor سمات جميعها محددة للزوجين الحصول على accessor_prop () {/* هنا هي جسم الوظيفة*/} ، set accessor_prop (value) {}} ؛فكر في الكائن التالي الذي يمثل إحداثيات النقاط الديكارتية ثنائية الأبعاد. له خصائصان عاديان X و Y يمثلان إحداثيات X وإحداثيات Y على التوالي. كما أن لديها خصائص ملحقان مكافئان لتمثيل الإحداثيات القطبية للنقاط:
var p = {// x و y هي سمات بيانات القراءة والكتابة العادية x: 1.0 ، y: 1.0 ، // r هي سمة ملحق للقراءة والكتابة ، والتي لديها getter و setter get r () {return math.sqrt (this.x * this.x + th this.y) ؛ } ، set r (newValue) {var oldvalue = math.sqrt (this.x * this.x + this.y * this) ؛ نسبة var = newValue / Oldvalue ؛ this.x *= نسبة ؛ this.y *= نسبة ؛ } ،. }} ؛مثل سمات البيانات ، تكون سمات الملحقات قابلة للوراثة ، لذلك يمكن اعتبار كائن P في الكود أعلاه كنموذج أولي لـ "نقطة" أخرى. يمكن أن تحدد خصائص X و Y لكائن جنسي ، لكن خصائص R و Theta ترث من:
var q = errinit (p) ؛ qx = 1 ، qy = 1 ؛ console.log (qr) ؛ cosole.log (q.theta) ؛
3.2 ميزات السمة
يمكننا أن نعتبر أساليب getter و setter سمة الملحق كخصائص السمة. وفقًا لهذا المنطق ، يمكننا أيضًا النظر في خصائص الخصائص للخصائص أيضًا. لذلك ، يمكن اعتبار أن الخاصية تحتوي على اسم و 4 سمات.
الخصائص الأربع لخاصية رقمية هي قيمتها وقابلة للكتابة وقابلة للتكوين.
لا تحتوي سمات الإكسسور على خصائص قيمة وقابلية للكتابة ، بحيث تتضمن: قراءة (الحصول) ، والكتابة (المجموعة) ، والتعداد ، والتكوين.
يحدد ES5 كائنًا يسمى "واصف السمات" ، والذي يمثل تلك السمات الأربع. تتضمن سمات كائن الوصف لسمة البيانات القيمة ، القابلة للكتابة ، قابلة للتكوين وقابلة للتكوين. يتم استبدال كائن الوصف الخاص بسمة الملحق بسمة GET و Set Set. من بينها ، هي قيم قابلة للكتابة ، قابلة للتكوين ، قابلة للتكوين هي قيم منطقية ، وسمة الحصول على السمة والتعيين هي قيم الوظائف.
يمكنك الحصول على واصف خاصية لخاصية محددة لكائن ما عن طريق استدعاء Object.GetOwnPropertyDescriptor ():
. "Octet") ؛ // للسمات الموروثة والسمات غير الموجودة ، إرجاع غير محدد.
كما ترون من اسم الوظيفة ، يمكن لـ Object.GetOndPropertyDesCiptor () الحصول على واصف خصائصه الخاصة فقط. للحصول على خصائص السمات الموروثة ، تحتاج إلى اجتياز سلسلة النموذج الأولي (Object.getProtypeOF ()).
إذا كنت ترغب في تعيين خصائص الخصائص ، أو جعل الخصائص التي تم إنشاؤها حديثًا لها خصائص معينة ، فأنت بحاجة إلى استدعاء Object.DefineProperty () ، والتي تحتوي على ثلاث معلمات: الكائن ، اسم الخاصية ، وكائن واصف الخصائص:
// خصائص موجودة ، ولكن لا يمكن تعداد الثور ؛ // => 1OBject.Keys (O) // => [] // الآن قم بتعديل الخاصية X لجعله قراءًا فقط Object.DefineProperty (O ، "X" ، {crintable: true}) ؛ // view يغير قيمة هذه الخاصية OX = 2 ؛ // تفشل العملية ولكن لا يتم الإبلاغ عن أي أخطاء ، ويتم إلقاء استثناء خطأ في النوع في وضع صارم // خصائص لا تزال قابلة للتكوين ، لذلك يمكن تعديلها بهذه الطريقة: object.defineProperty (o ، "x" ، {value: 2}) ؛ ox // => 2 // الآن تعديل x من خاصية البيانات إلى كائن خاصية الوصول. }) ؛ ox // => 0إذا كنت ترغب في تعديل أو إنشاء خصائص متعددة في نفس الوقت ، فأنت بحاجة إلى استخدام Object.DefineProperties (). المعلمة الأولى هي الكائن المراد تعديله ، والمعلمة الثانية هي جدول رسم الخرائط. على سبيل المثال:
var p = object.defineProperties ({} ، {x: {value: 1 ، crinbable: true ، enumeries: true ، true: true} ، y: {value: 2 ، crinable: true ، enumer: true ، that قابل للتكوين: صحيح}}) ؛واجهات برمجة تطبيقات الطراز القديم لـ Getters and Setters: قبل ES5 ، يمكن أن تدعم معظم تطبيقات JavaScript بالفعل الحصول على الكتابة في بناء جملة الكائن المباشر. توفر هذه التطبيقات واجهات برمجة تطبيقات غير قياسية من الطراز القديم للاستعلام وإعداد Getters والمستقبين. تتكون واجهات برمجة التطبيقات هذه من أربع طرق ، وجميع الكائنات لها هذه الطرق.
__ Lookeupgetter __ () و __floyupsetter __ () تستخدم لإرجاع طريقة السمة المسماة وطريقة setter.
__definegetter __ () و __definesetter __ () تستخدم لتحديد getters و etters. المعلمة الأولى هي اسم السمة ، والمعلمة الثانية هي طرق Getter و Setter.
var o = {} ؛ o .__ definetter __ ("x" ، function () {return 0 ؛}) ؛ o .__ definesetter __ ("y" ، function (value) {console.log ("set value:" + value) ؛}) ؛4. ثلاث خصائص لكائن
كل كائن له نموذج أولي ، فئة ، وسمة قابلة للتمديد مرتبطة به. بعد ذلك ، دعنا نتحدث عن ما تفعله هذه السمات.
4.1 خصائص النموذج الأولي
يتم استخدام سمات النموذج الأولي للكائن لروث السمات. غالبًا ما نسمي سمات النموذج الأولي لـ O "النموذج الأولي". في السابق ، قدم "إنشاء كائنات" ثلاث طرق لإنشاء كائنات. يتم استخدام الكائنات التي تم إنشاؤها بواسطة الكائنات كنموذج أولي باستخدام Object.prototype. الكائنات التي تم إنشاؤها بواسطة New استخدم سمة النموذج الأولي الخاص بنموذج المنشئ كنموذج أولي. الكائنات التي تم إنشاؤها باستخدام object.create () استخدم المعلمة الأولى كنموذج أولي.
في ES5 ، يمكن الاستعلام عن النموذج الأولي للكائن من خلال object.getPrototypeof (). في ES3 ، لا توجد وظيفة مكافئة ، ولكن بدلاً من ذلك ، يتم استخدام التعبير O.Constructor.prototype للتحقق من النموذج الأولي للكائن.
لاكتشاف ما إذا كان الكائن نموذجًا أوليًا لكائن آخر (أو في سلسلة النموذج الأولي) ، استخدم طريقة ISProtypeOF (). على سبيل المثال ، يمكنك اكتشاف ما إذا كان P هو نموذج أولي لـ O بواسطة p.isprototypeof (O):
var p = {x: 1} ؛ // تحديد كائن النموذج الأولي var o = object.create (p) ؛ // استخدم هذا النموذج الأولي لإنشاء كائن p.isprototypeof (O) ؛ ]تكشف JavaScript الذي تم تنفيذه بواسطة Mozilla سمة تدعى __proto__ خصيصًا للاستعلام/تعيين النموذج الأولي للكائن مباشرة. ومع ذلك ، لا تدعم IE و Opera سمة __proto__ ، لذلك لا ينصح باستخدام سمة __proto__ مباشرة.
4.2 سمات الفصل
سمة فئة الكائن هي سلسلة لتمثيل معلومات نوع الكائن. يوفر كل من ES3 و ES5 طرقًا لتعيين هذه الخاصية ، وهناك طريقة واحدة غير مباشرة فقط للاستعلام عنها. تقوم طريقة ToString () الافتراضية () بإرجاع سلسلة في هذا التنسيق: [فئة الكائن].
يمكنك استدعاء طريقة ToString () ثم استخراج الأحرف بين الموقف الثامن والموضع قبل الأخير للسلسلة التي تم إرجاعها. ولكن هناك مشكلة تفيد بأن العديد من الكائنات ورثت أساليب tostring () تمت إعادة كتابة. من أجل أن تكون قادرًا على استدعاء إصدار TOSTRING () الصحيح ، يجب استدعاء طريقة الدالة. call () بشكل غير مباشر. يمكن أن تُرجع وظيفة فئة الفئة في المثال التالي فئة أي كائن:
دالة classof (o) {if (o === null) إرجاع "null" ؛ إذا (o === غير محدد) العودة "غير محددة" ؛ return object.prototype.tostring.call (o) .slice (8 ، -1) ؛}4.3 قابلية التوسع
يتم استخدام تمديد الكائن للإشارة إلى ما إذا كان يمكن إضافة خصائص جديدة إلى الكائن. جميع الكائنات المدمجة والمخصصة قابلة للتمديد بشكل صريح. في ES5 ، يمكن تحويل الكائنات إلى غير قابلة للخلاف.
بالإضافة إلى تعيين الكائن ليكون غير قابل للتكيف ، يمكن أن تكون طريقة الكائن. بمعنى أنه لا يمكن إضافة سمات جديدة إلى الكائن ، ولا يمكن حذف السمات الحالية وتكوينها.
يتم استخدام طريقة الكائن.
ستؤدي طريقة الكائن. بالإضافة إلى وجود وظيفة الكائن.
يتم استخدام كائن.
5. تسلسل الأشياء
يشير تسلسل الكائن إلى تحويل حالة كائن إلى سلسلة ، أو يمكنك استعادة السلسلة إلى كائن. يوفر ES5 وظائف مدمجة json.stringify () و json.parse () لتسلسل واستعادة كائنات JavaScript. تستخدم جميع هذه الطرق JSON كتنسيق تبادل البيانات. على سبيل المثال:
o = {x: 1 ، y: {z: [false ، null ، ""]}} ؛ // تحديد كائن اختبار s = json.stringify (o) ؛ // {"x": 1 ، "y": {"z": [false ، null ، ""]}} p = json.parse (s) ؛ // P نسخة عميقة من oبناء جملة JSON هو مجموعة فرعية من بناء جملة JavaScript ، ولا يمكن أن تمثل جميع القيم في JavaScript. يتم دعم الكائنات والصفائف والسلاسل والأرقام اللانهائية ، الصحيح ، الخاطئة ، والخالية ، ويمكن تسلسلها واستعادتها. نتائج التسلسل NAN ، Infinity و -infinity كلها خالية. لا يمكن تسلسل الوظائف ، و regexp ، وكائنات الخطأ ، والقيم غير المحددة.
هنا سأضيف طريقة الكائن:
طريقة ToString (): ستعيد سلسلة تمثل قيمة الكائن الذي يدعو هذه الطريقة. أعادت العديد من الكائنات كتابة طريقة toString () ، مثل Array.ToString () و Date.ToString () و function.toString ().
tojson () method: object.prototype لا يحدد في الواقع طريقة tojson () ، ولكن بسبب الحاجة إلى تنفيذ التسلسل ، ستستدعي طريقة json.stringify () طريقة tojson (). إذا كانت هذه الطريقة موجودة في الكائن التسلسلي ، فسيتم تسميتها.
طريقة valueof (): تتشابه طريقة ValueOF () إلى حد كبير مع طريقة ToString () ، لكن JavaScript غالبًا ما تدعوها عندما تقوم بتحويل كائن إلى قيمة أصلية معينة بدلاً من سلسلة ، خاصةً عندما يتم تحويلها إلى رقم. تقوم بعض الفئات المضمنة بتخصيص طريقة ValueOF () ، مثل Date.valueof ().
إن المقالة أعلاه تتفهم بشكل شامل تقدم كائنات JavaScript هو كل المحتوى الذي أشاركه معك. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.