نسخ، تمرير، و مقارنة بيانات

تعتمد طريقة JScript النسخ، تمرير، وقم بمقارنة بيانات حول بيانات هو، الذي بدوره يعتمد تشغيل نوع بيانات. JScript بتخزين بيانات أما حسب القيمة أو حسب مرجع.

بواسطة أو القيمة.بواسطة مرجع

JScript النسخ يمرر وقم بمقارنة الأرقام و منطقي قيم (صواب و false ) بقيمة . وهذا عملية يخصص مسافة في ذاكرة الكمبيوتر وقم بالنسخ القيمة الأصلية إليه. تغييرات إلى الأصلي لا تؤثر على النسخة (والعكس بالعكس) لأن كلاهما كيان منفصل. الثاني أرقام أو قيم منطقية تعتبر مساوية كان لديهم نفس القيمة.

JScript النسخ يمرر ويقارن بين الكائنات صفائف دالات ب مرجع . هذه العملية بشكل أساسي بإنشاء مرجع إلى العنصر الأصلي ويستخدم المرجع كـ إذا كانت نسخ. تغيير الأصلي إلى تغيير كل من الأصل و نسخ (والعكس بالعكس). يحدث فعلا وحدة واحدة فقط؛ النسخة مرجع آخر تماما إلى البيانات.

لمقارنة حسب المرجع بنجاح، يجب أن تشير متغيرات الثاني من نفس وحدة تماما. على سبيل المثال، مميزة بين Arrayدائماً يقارن الكائنات كغير متساوية، حتى إذا كانت تحتوي على نفس العناصر. يجب أن يكون واحد المتغيرات مرجع غير ذلك واحد للمقارنة نجاح. إلى التحقق من حالة اضغط صفائف الثاني على نفس العناصر، مقارنة نتائج الأسلوب إلىString().

وأخيراً، يالنسخ JScript ويقوم بتمرير السلاسل مرجع. أم لا سلاسل يتم تحديد الكائنات طريقة سلاسل مقارنة. هناك Stringالكائنات (تم إنشاؤه مع سلسلة جديدة ("شيء")) مقارنة مع مرجع. إذا كان أحدهما (أو كليهما) من السلاسل هو القيمة سلسلة قيمة حرفية أو الأولية، فإنها مقارنة بالالقيمة. لمزيد من المعلومات، راجع تعيينات JScript و مساواة.

ملاحظة

يتم بناء مجموعات أحرف ASCII و ‏‫ANSI حيث يسبق أحرف استهلالية صغيرة منها في ترتيب تسلسل. على سبيل المثال، يقارن "الحيوان" كـ أقل من "aardvark". يمكنك استدعاء إلىUpperCase() أو إلىLowerCase() تشغيل كل من سلاسل إذا أردت إلى إجراء مطابقة تحسس حالة الأحرف.

معلمات دالة

عندما JScript بتمرير معلمة إلى دالة بواسطة قيمة، فإنه يجعل نسخ منفصلة من تلك المعلمة موجود داخل الدالة. على الرغم من أن يتم تمرير الالكائنات صفائف عن طريق مرجع، في حالة كتابة قيمة جديدة في دالة مباشرة فوق بها، لا يتم عكس القيمة الجديدة خارج دالة. فقط قم بتغيير إلى خصائص الكائنات، أو صفائف، عناصر مرئي خارج دالة.

ل مثال، البرنامج التالي وظيفتان. معلمة إدخال، مما يمنع المزيد من التغييرات إلى الكتابة فوق دالة أول إلى المعلمة من التأثير على وسيطة إدخال الأصلي. دالة الثاني بتغيير خاصية كائن دون الكتابة فوق كائن.

function clobber(param) {
   // Overwrite the parameter; this will not be seen in the calling code
   param = new Object();
   param.message = "This will not work.";
}

function update(param) {
    // Modify the property of the object; this will be seen in the calling code.
    param.message = "I was changed.";
}

// Create an object, and give it a property.
var obj = new Object();
obj.message = "This is the original.";

// Call clobber, and print obj.message.
clobber(obj);
print(obj.message);

// Call update, and print obj.message.
update(obj);
print(obj.message);

إخراج هذه التعليمات البرمجية هي:

This is the original.
I was changed.

مقارنة بيانات

JScript مقارنة بيانات أما بواسطة قيمة أو بواسطة مرجع. لإجراء اختبار حسب القيمة، يقارن JScript عنصرين مميزة لتحديد ما إذا كانت تساوي بكل غير ذلك. عادة، th هو comparهوon هو تشغيل bas إيتا بايتاً هو. عند اختبار بواسطة مرجع إلى التحقق لمعرفة ما إذا كان عنصرين تشير إلى نفس العنصر. إذا ما، ثم قم بيقارن كـ يساوي؛ إذا لم، على الرغم من أنها قد تحتوي على قيم نفس الدقيقة، بايت لذات البايت، يقارن كـ غير متساوية.

قد يكون مقارنة سلاسل بواسطة قيمة أو بواسطة مرجع، اعتماداً تشغيل أو لم يتم السلاسل للكائنات. إذا كانت السلاسل كلا Stringعلى الكائنات، تتم مقارنة السلاسل بواسطة الإشارة؛ وإلا، مقارنة بواسطة قيمة. وهذا ما يسمح سلسلتين إلى مقارنة كالمساواة إذا كان كل أنشئت بشكل منفصل من الآخر، ولكن يكون لكل نفس المحتوى. لمقارنة قيم عمودين Stringالكائنات، أول تحويل الكائنات إلى سلاسل غير كائن باستخدام toString أو valueOfأساليب، ثم قارن بين السلاسل الناتجة. لمزيد من المعلومات، راجع تعيينات JScript و مساواة.

راجع أيضًا:

المبادئ

تعيينات JScript و مساواة

ملخص نوع البيانات

موارد أخرى

جولة JScript اللغة

دالات JScript