قبل فهم النسخ العميقة والنسخة الضحلة ، تحتاج إلى فهم بعض المفاهيم الأساسية. تنقسم الأنواع المتغيرة المخزنة في الذاكرة إلى أنواع القيمة وأنواع المرجع.
1.
على سبيل المثال: var num = 123 ؛ var num1 = num ؛
الرقم المخزن في المتغير هو 123. ثم انسخ نسخة واحدة ، مما يعني نسخ 123 نسخة. ثم هناك صفيفان في الذاكرة ؛ تعيين بيانات النسخ إلى Num2 ، المميزة هي أن هناك نسختين من البيانات في الذاكرة. يمكن فهم ذلك على أنه نسخة ضحلة.
2. تعيين النوع المرجعي.
var o = {name: 'Zhang San'} ؛
var obj = o ؛
التعيين يعني نسخ نسخة من البيانات المخزنة في المتغير O ثم تعيين البيانات إلى OBJ. هناك نقطة واحدة من البيانات في الذاكرة ، وستؤثر سمة الاسم المعدلة بواسطة OBJ على الاسم في O.
إذا تم نسخ جميع الهياكل المرجعية للبيانات في نسخة ، فإن البيانات تكون في الذاكرة بشكل مستقل وهي نسخة عميقة ؛
إذا تم نسخ سمات الكائن الحالي فقط عند النسخ ، ولم يتم النظر في السمات ، فهي نسخة ضحلة ؛
نسخ: نسخ نسخة. يشير إلى نسخ بيانات الكائنات ؛
عند مناقشة النسخ العميقة والنسخة الضحلة ، من الضروري التأكد من أن خصائص الكائن هي أيضًا أنواع مرجعية.
مناقشة موجزة أعلاه حول النسخة والنسخة العميقة الموجهة للكائنات والنسخ في JavaScript هي كل المحتوى الذي أشاركه معك. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.