1. دور جافا سكريبت "=="
1. عندما تكون محتويات == على كلا الجانبين سلاسل ، ثم قارن ما إذا كانت محتويات السلسلة متساوية.
2. عندما تكون المحتويات على جانبي == أرقامًا ، ثم قارن ما إذا كانت أحجام الأرقام متساوية.
3. عندما تكون المحتويات على جانبي == هي كائنات أو سمات وظائف للكائنات ، قارن ما إذا كانت عناوين الذاكرة متساوية.
2. الفرق بين == و ===
== المستخدمة للمقارنة العامة ، === يستخدم للمقارنة الصارمة ، == يمكنك تحويل نوع البيانات أثناء المقارنة ، === مقارنة صارمة ، وإرجاع flase طالما أن الأنواع لا تتطابق.
إعطاء مثال:
<script type = "text/javaScript"> ALERT ("/"/"== النتيجة الحقيقية هي:"+("" == true)) ؛ تنبيه ("/"/"=== النتيجة الحقيقية هي:"+("" == true)) ؛ تنبيه ("/" === النتيجة هي: "+(" "==)) ؛ ALERT ("/"/" ==== "+(" "==)) ؛ ALERT ("/"===="+("===)) ؛ </script>"1" == الأنواع الحقيقية مختلفة ، "==" سيتم إجراء تحويل النوع أولاً ، ويتم تحويل صحيح إلى 1 ، أي ، "1" == 1 ؛ في هذا الوقت ، لا تزال الأنواع مختلفة ، وتستمر في إجراء تحويل النوع ، ويتم تحويل "1" ، أي 1 == 1 ؛ في هذا الوقت ، "==" الأنواع الموجودة على جانبي اليسار واليمين هي عددية ، وهي ناجحة نسبيًا!
"1" === صحيح الجانب الأيسر هو نوع الحرف ، والجانب الأيمن هو نوع منطقي ، والجوانب اليسرى واليسرى مختلفة ، والنتيجة خاطئة ؛
"1" === 1 الجانب الأيسر هو نوع حرف ، والجانب الأيمن هو نوع عددي INT ، والجوانب اليسرى واليسرى مختلفة ، والنتيجة خاطئة ؛
نتائج التشغيل:
تلخيص:
الفرق بين == و ==: "==" فقط القيم مطلوبة لتكون متساوية ؛ "===" القيم والأنواع مطلوبة لتكون متساوية.
اسمحوا لي أن أشرح بالتفصيل الفرق بين ثلاث علامات متساوية وعلامتين متساويتين في JavaScript.
== المساواة معادلة ، === الهوية هي المساواة.
== ، عندما يكون للجانبين أنواع مختلفة من القيم ، يجب إجراء تحويل النوع أولاً ثم المقارنة.
== ، لا يتم إجراء تحويل نوع ، يجب أن تكون أنواع مختلفة مختلفة.
يتم شرح ما يلي بشكل منفصل:
دعنا نتحدث عن === ، هذا بسيط نسبيًا.
يتم استخدام القواعد التالية لتحديد ما إذا كانت القيمتين === متساويين:
1. إذا كانت الأنواع مختلفة ، فهي [غير متكافئة]
2. إذا كان كلاهما قيمًا رقميًا وهما نفس القيمة ، ثم [متساوٍ] ؛ (! استثناء) هو ، إذا كان واحد منهم على الأقل نان ، ثم [ليس متساوًا]. (لتحديد ما إذا كانت القيمة هي نان ، يمكنك فقط استخدام isnan () للحكم)
3. إذا كان كلاهما سلاسل والشخصيات في كل موقف هي نفسها ، فإن [المساواة] ؛ خلاف ذلك [غير متساوٍ].
4. إذا كانت كلتا القيمتين صحيحة ، أو كلاهما خطأ ، ثم [متساوٍ].
5. إذا كانت كلتا القيمتين تشير إلى نفس الكائن أو الدالة ، ثم [المساواة] ؛ خلاف ذلك [غير متساوٍ].
6. إذا كانت كلتا القيمتين لاغية ، أو كلاهما غير محدد ، ثم [متساوٍ].
دعنا نتحدث عن == ، وفقًا للقواعد التالية:
1. إذا كان النوعين من القيمة متماثلين ، اجعل === مقارنة.
2. إذا كان نوعي القيمة مختلفان ، فقد يكونان متساويين. يتم إجراء تحويل النوع وفقًا للقواعد التالية ثم مقارنته:
أ. إذا كان أحدهم لاغا والآخر غير محدد ، ثم [متساو].
ب. إذا كان أحدهما عبارة عن سلسلة والآخر عبارة عن قيمة رقمية ، فقم بتحويل السلسلة إلى قيمة رقمية ثم قارنها.
ج. إذا كانت أي قيمة صحيحة ، قم بتحويلها إلى 1 وقارنها ؛ إذا كانت أي قيمة خاطئة ، قم بتحويلها إلى 0 وقارنها.
د. إذا كان أحدهما كائنًا والآخر هو رقمي أو سلسلة ، فقم بتحويل الكائن إلى قيمة من النوع الأساسي ثم قارنه. قم بتحويل كائن إلى نوع أساسي واستخدم طريقة ToString أو ValueOF الخاصة به. سيحاول فئة JS Core المدمجة قيمة قبل tostring ؛ الاستثناء هو التاريخ ، الذي يستخدم تحويل tostring. كائن أساسي غير JS ،
Lingshuo (لا أفهم الكثير)
ه. أي مجموعة أخرى هي [غير متكافئة].
على سبيل المثال:
"1" == صحيح
إذا كانت الأنواع مختلفة ، فسيتم تحويل True أولاً إلى القيمة 1 ، والآن يصبح "1" == 1 ، ثم تحويل "1" إلى 1 ، ومقارنة 1 == 1 ، وهو متساوٍ.
= عامل المهمة
== يساوي
=== يساوي تمامًا
مثال:
var a = 3 ؛
var b = "3" ؛
A == B إرجاع صحيح
أ === B يعود خطأ
لأن أنواع A و B مختلفة
=== يستخدم لإصدار أحكام مقارنة صارمة