الحكم المقارن
حكم المقارنة هو مقارنة قيمتين وإرجاع قيمة منطقية للإشارة إلى ما إذا كانت شروط المقارنة يوفر JavaScript ما مجموعه 8 مشغلين مقارنة. هنا نتحدث بشكل أساسي عن الفرق بين مشغلي المساواة الصارم ومشغلي المساواة.
عامل المساواة الصارم ===
حدد أن إرجاع قيمتين مختلفان ، خطأ ، كلتا القيمتين فارغة/غير محددة/صواب/خطأ. واحدة من القيمتين هي nan ، خطأ ، كلتا القيمتين رقميان ومتساويان ، صحيحان ، كلتا القيمتين سلاسل ، والقيم المتساوية صحيحة ، تشير كلتا القيمتين إلى نفس نوع المرجع true1 === "1" // falsetrue === rue // trueDefined === undefined // true1 === 1 // truenan === nan / /fals false [] === [] // false (function () {} === function () {}) // falseavar v1 = {} ؛ var v2 = v1 ؛ // تشير قيمتان إلى نفس الكائن v1 === v2 // trueيحتوي مشغل المساواة الصارم على مشغل صارم غير مساواة (! ==) ، ونتائج تشغيل الاثنين هي عكس ذلك تمامًا.
مشغل المساواة ==
إذا كان مشغل المساواة يقارن البيانات من نفس النوع ، فإن نفس مشغل المساواة الصارم آخر إذا كان مشغل المساواة يقارن أنواعًا مختلفة من البيانات: سيتم تحويل النوع الأصلي للبيانات إلى أنواع رقمية ، ويحول كل من السلاسل والملاءات المنطقية إلى قيم رقمية ، ثم يقارن NULL == إرجاع غير محدد هو كائن هو كائن أو سلسلة أو سلسلة ، ويتحول الكائن إلى قيمة أساسية // true'123 '== 123 ؛ // صحيح ، سيتم تحويل "123" إلى قيم رقمية 123False == 0 ؛ // صحيح ، الكاذبة التحويل إلى قيم رقمية هو 0'A '==' a '؛ // false ، يكون الترميز المحول مختلفًا 123 == {} ؛ //false, executing toString() or valueOf() will change 123 == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = nan ؛ // false ، طالما أن هناك نان ، فهي خاطئة {} == {} ؛ // false ، المقارنة هي عنوانهم. العنوان المرجعي لكل كائن تم إنشاؤه حديثًا مختلف null == undefined // true'nan '== nan // false123 == nan // falsenan == nan // falsefalse == 0 // truetrue == 1 // truetrue == 2 // falseundefined == 0 // falsenull == 0 // //خطأ شنيعيحتوي مشغل المساواة على مشغل غير متكافئ (! =) ، ونتائج تشغيل الاثنين هي عكس ذلك تمامًا.
!!يحكم على
!! أي ما يعادل Boolean ، فهو مفيد للغاية عند كتابة الكود !! تحويله إلى نوع Boolean للحكم أمر مفيد للغاية
!! "Xzavier" ؛ // حقيقي!!''؛ // false !! '0' ؛ // صحيح !! '1' ؛ // true !! '-1' // true !! 0 // false !! // true !! {name: 'xz'} // true !! [] ؛ // صحيح !! [1،2،3] ؛ // صحيح !! صحيح ؛ // حقيقي!يحكم على
عامل عكسي! يستخدم لتغيير القيمة المنطقية إلى القيمة المعاكسة ، أي أن صحيحًا يصبح خطأ ويصبح خطأ. بالنسبة للبيانات غير المنطقية ، يحول مشغل الانقلاب تلقائيًا إلى منطقية. القاعدة هي أن القيم الست التالية مقلوبة إلى صواب ، والقيم الأخرى مقلوبة إلى كاذبة
غير محدد NULL FALSE 0 (بما في ذلك +0 و -0) سلسلة نان فارغة ('')! undefined // true! null // true! false // true! 0 // true![] و {} الحكم
لـ [] و {} ، سنقوم بالتأكيد بإصدار أحكام عليها في قانون العمل ، على النحو الوارد أعلاه
!! {} ؛ // true !! {name: 'xz'} // true !! [] ؛ // صحيح !! [1،2،3] ؛ // حقيقي لا يمكن استخدامه في الأحكام! و!. بالنسبة للصفائف ، نستخدم سمة length للقاضي
[]
بالنسبة للكائنات ، يمكنك استخدام طريقة jQuery $.isEmptyObject(obj) ، أو يمكنك تغليف طريقة عن طريق تقليد jQuery لكتابة أ
وظيفة isEmpTyObject (obj) {var name ؛ لـ (الاسم في OBJ) {return false ؛ } return true ؛} isemptyObject ({}) ؛ // trueisemptyobject ({name: 'xzavier'}) ؛ خطأ شنيع أوصي underscore الأدوات ، والتي لديها أيضًا طريقة isEmpty(object)
const _ = require ('Underscore') ؛ _. isempty ({}) ؛ // حقيقي&&يحكم على
المستخدمة في التعبيرات الشرطية ، والقواعد هي:
num1 && num2true true true true true false false false false false false false
المستخدمة في بيان ، والقواعد هي:
النتيجة = Expression1 && expression2
إذا تم تقييم Expression1 إلى خطأ ، فإن النتيجة هي التعبير 1. وإلا فإن النتيجة هي التعبير 2
(1 - 1) && (x + = 1) // 0 (2> 1) && (5 + 5) // 10 (2 + 1) && (5 + 5) // 10
|| الحكم
المستخدمة في التعبيرات الشرطية ، والقواعد هي:
num1 || num2true true true true true false true true true false false
المستخدمة في بيان ، والقواعد هي:
إذا كانت القيمة المنطقية للمشغل الأول صحيحة ، فسيتم إرجاع قيمة المشغل الأول ولم يعد يتم تقييم المشغل الثاني.
إذا كانت القيمة المنطقية للمشغل الأول خاطئة ، فسيتم إرجاع قيمة المشغل الثاني
|| المشغلين عمومًا يقومون بحكم التعبير الشرطي ومعالجة التسامح مع الأخطاء في رمز العمل. إذا لم نتمكن من الحصول على البيانات عند جلبها ، فلا يمكن أن تؤثر على رمز العمل اللاحق ، لذلك نحتاج إلى التسامح مع الأخطاء. || هي طريقة كتابة جيدة للغاية تحمل الأخطاء ، والتي تعادل توفير بيانات النسخ الاحتياطي.
var data = undefined || backup_data ؛ // عندما يكون هناك خطأ في الطلب والبيانات غير محددة ، انتقل إلى النسخ الاحتياطي backup_data
الحكم ثلاثي العين
قاعدة:
حالة ؟ Expression1: expression2 ؛ function absn (xzavier) {return xzavier> 0؟ Xzavier: -xzavier ؛} absn (-123) ؛ // 123absn (123) ؛ // 123إذا كانت القيمة المنطقية للتعبير الأول صحيحة ، فسيتم إرجاع قيمة التعبير الثاني ، وإلا يتم إرجاع قيمة التعبير الثالث.
لخص
ما ورد أعلاه هو كل محتوى الحكم في كود JavaScript للجميع. آمل أن يكون محتوى هذه المقالة مفيدًا لكل شخص يستخدم JavaScript.