اليوم ، وجدت مشكلة JS غريبة للغاية عندما كنت في الشركة. لم ألاحظ من قبل أن أخرجت قيمة حقل معين من قاعدة البيانات ، وحدثت قيمة هذا الحقل ليكون 0. ثم عندما حكمت على ما إذا كانت هذه القيمة تساوي "" ، حدثت المشكلة التالية:
أي أن JS يعتقد أن 0 == "" صحيح ، أي نتيجة 0 == "" صحيح.
رمز التحقق كما يلي:
<script type = "text/javaScript"> if (== "") {Alert ('== "" النتيجة هي:'+(== ")) ؛ // true} if (===" ")في وقت لاحق ، تم تغييره إلى استخدام 0 === "" للمقارنة. النتيجة في هذا الوقت خاطئة. يبدو أنه في المستقبل ، يجب أن تنتبه إلى ما إذا كانت القيمة تساوي "" قبل كتابة قيمة الحكم ، ثم إصدار حكم أولاً ، أو استخدام === للحكم مباشرة ، واستخدام طريقة صارمة للحكم!