วันนี้ฉันพบปัญหา JS ที่แปลกมากเมื่อฉันอยู่ใน บริษัท ฉันไม่ได้สังเกตก่อนที่ฉันจะหยิบค่าของฟิลด์ที่แน่นอนจากฐานข้อมูลและค่าของฟิลด์นี้เกิดขึ้นเป็น 0 จากนั้นเมื่อฉันตัดสินว่าค่านี้เท่ากับ "" ปัญหาต่อไปนี้เกิดขึ้น:
นั่นคือ JS เชื่อว่า 0 == "" เป็นความจริงนั่นคือผลลัพธ์ของ 0 == "" เป็นจริง
รหัสการตรวจสอบมีดังนี้:
<script type = "text/javascript"> if (== "") {Alert ('== "" ผลลัพธ์คือ:'+(== "")); // true} ถ้า (=== "") {แจ้งเตือน ("true");ต่อมามันเปลี่ยนเป็น 0 === "" เพื่อเปรียบเทียบ ผลลัพธ์ในเวลานี้เป็นเท็จ ดูเหมือนว่าในอนาคตคุณควรให้ความสนใจว่ามูลค่าเท่ากับ "" ก่อนที่จะเขียนมูลค่าการตัดสินแล้วตัดสินก่อนหรือใช้ === เพื่อตัดสินโดยตรงและใช้วิธีที่เข้มงวดในการตัดสิน!