JScript تعيينات و مساواة
في JScript، يعين operaإلىr تعيين القيمة إلى متغير. يقارن عامل تشغيل مساواة الثاني قيم.
التعيينات
مثل العديد من لغات البرمجة، تستخدم JScript علامة التساوي (=) إلى تعيين قيم إلى المتغيرات: هو عامل التعيين. مُعامل الأيسر من = يجب أن يكون عامل التشغيل Lvalue ، مما يعني أنه يجب أن يكون متغير أو عنصر صفيفة، أو كائن الخاصية.
معامل أيمن من = يجب أن يكون عامل التشغيل من Rvalue. يمكن أن يكون من Rvalue القيمة عشوائية من أي نوع، بما في ذلك القيمة التي هو نتيجة تعبير. اتباع هو مثال JScript عبارة التعيين.
anInteger = 3;
JScript يفسر هذا البيان كـ معنى:
"قم بتعيين القيمة 3 إلى متغير anInteger،"
أو
"anIntegerيأخذ القيمة 3. "
واجب ستكون دائماً ناجحة إذا لم يحتوي مرتبطاً بنوع التعليق التوضيحي متغير في العبارة إلى نوع بيانات معين. وإلا، ستحاول المحول البرمجي لتحويل Lvalue من Rvalue نوع بيانات. إذا كان يمكن مطلقاً أن يتم تنفيذ تحويل بنجاح، يقوم المحول البرمجي بإنشاء خطأ. سوف تنجح بالنسبة لبعض قيم تحويل وتفشل للآخرين، المحول البرمجي ينشئ رسالة تحذير تحويل قد يفشل عند التعليمة البرمجية هو تشغيل.
في هذا المثال، القيمة العدد الصحيح المخزنة في iيتم تحويلها إلى القيمة مزدوجة عند تعيين المتغير المتغير x.
var i : int = 29;
var x : double = i;
لمزيد من المعلومات، راجع نوع تحويل.
المساواة
على خلاف بعض غير ذلك لغات البرمجة، لا تستخدم JScript المساواة كـ عامل تشغيل مقارنة، ولكن فقط كـ العامل كـ signment. ل المقارنة بين قيمتين، يمكنك استخدام عامل التشغيل الصارمة مساواة (=) أو عامل تشغيل المساواة (==).
يقارن عامل التشغيل مساواة السلاسل الأولية، والأرقام، والقيم المنطقية و حسب القيمة. في حالة وجود جهازي المتغيرات نفس القيمة، بعد نوع تحويل (عند الضرورة)، مساواة العامل إرجاع صحيحاً . Objects (including Array, Function, String, Number, Boolean, Error, Date and RegExp objects) compare by reference. حتى لو الثاني متغيرات الكائنات لها نفس القيمة، بالمقارنة بإرجاع صواب فقط إذا كانت تشير إلى نفس الكائن تماما.
عامل التشغيل مساواة التقيد بمقارنة القيمة ونوع تعبيرين؛ ويتم إرجاع صواب فقط في حالة يقارن تعبيرين متساوية مع عامل تشغيل مساواة ونوع بيانات هو نفسه لكل من المعاملات.
ملاحظة
عامل التشغيل مساواة شديدة لا يميز بين أنواع مختلفة من بيانات الرقمية. تكون بعض underst التي و الفرق بين عامل التعيين، عامل المساواة، و عامل مساواة الصارمة.
مقارنات في برامج نصية دوماً تحتوي نتيجة منطقية. خذ بعين الاعتبار ما يلي خط من تعليمات برمجية JScript.
y = (x == 2000);
هنا، القيمة المتغير xهو اختبار لمعرفة ما إذا كان ذلك هو مساوياً لرقم 2000. إذا هو، نتيجة comparهوon هو القيمة قيمة منطقية صحيحاً ، الذي هو المعينة إلى متغير y**.** إذا xهو لا يساوي 2000، ثم نتيجة comparهوon هو القيمة المنطقية خطأ ، تعيين y.
تحويل نوع سوف operaإلىr بمساواة إلى التحقق ما إذا كانت قيم هي نفسها. في السطر التالي من تعليمات برمجية JScript، سيتم محول سلسلة أحرف نصية "42" إلى رقم قبل مقارنته برقم 42. النتيجة هو صحيحاً .
42 == "42";
تتم مقارنة الكائنات باستخدام قواعد مختلفة. سلوك المساواة عامل يعتمد تشغيل نوع الكائنات. إذا كانت الكائنات مثيلات الفئة التي هو تعريف باستخدام عامل تشغيل الأسهم، تعتمد القيمة التي تم إرجاعها على تطبيق عامل الأسهم. لا يمكن تعريف فئة عم توفر عامل تشغيل الأسهم في JScript، على الرغم من أن يسمح لغات.NET Framework غير ذلك مثل فئة ملفات تعريف.
كائنات بدون عامل تشغيل الأسهم معرفة، مثل كـ bكـed كائن في JScript Objectالكائن "أو" مثيل clكـs JScript، يقارن كـ يساوي فقط إذا كان كل من الكائنات تشير إلى نفس الكائن. وهذا يعني أن يقارن الثاني من الكائنات المميزة التي تحتوي على نفس بيانات كـ مختلفة. يلي مثال يوضح هذا سلوك.
// A primitive string.
var string1 = "Hello";
// Two distinct String objects with the same value.
var StringObject1 = new String(string1);
var StringObject2 = new String(string1);
// An object converts to a primitive when
// comparing an object and a primitive.
print(string1 == StringObject1); // Prints true.
// Two distinct objects compare as different.
print(StringObject1 == StringObject2); // Prints false.
// Use the toString() or valueOf() methods to compare object values.
print(StringObject1.valueOf() == StringObject2); // Prints true.
عوامل تشغيل مساواة مفيدة بشكل خاص في عبارات الشرط من بنيات تحكمية. هنا، فإنك تضم عامل تشغيل مساواة مع كشف الذي يستخدمه. خذ بعين الاعتبار نموذج تعليمات برمجية التالي JScript.
if (x == 2000)
z = z + 1;
else
x = x + 1;
if...elseالعبارة في JScript بتنفيذ إجراء واحد (في هذه الحالة، z = z + 1) إذا كانت القيمة xهو 2000، و إجراء بديل ( x = x + 1) إذا القيمة x2000 ليس. لمزيد من المعلومات، راجع بنيات JScript الشرطية.
يقوم عامل الصارمة مساواة (=) نوع تحويل تشغيل أنواع بيانات الرقمية فقط. Th هو يعني العدد الصحيح 42 هو بعين الاعتبار أن تكون مماثلة ل 42 مزدوجة، ولكن لن تكون مماثلة للسلسلة "42". يكون هذا سلوك هو موضح بواسطة هذه التعليمة البرمجية JScript.
var a : int = 42;
var b : double = 42.00;
var c : String = "42";
print(a===b); // Displays "true".
print(a===c); // Displays "false".
print(b===c); // Displays "false".