โค้ดนี้ใน JS ทำให้ฉันมีป๊อปอัปขึ้นมาว่า "ฉันคิดว่าโมฆะเป็นตัวเลข" ซึ่งฉันรู้สึกว่ารบกวนเล็กน้อย ฉันขาดอะไรไป?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
ฉันใช้ Firefox 3 นั่นเป็นบั๊กของเบราว์เซอร์หรือไม่?
การทดสอบอื่น ๆ :
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
ดังนั้นปัญหาดูเหมือนจะไม่ใช่การเปรียบเทียบกับ NaN อย่างแน่นอน?
แก้ไข:ตอนนี้คำถามได้รับคำตอบแล้วฉันได้ทำความสะอาดโพสต์ของฉันเพื่อให้มีเวอร์ชันที่ดีขึ้นสำหรับที่เก็บถาวร อย่างไรก็ตามสิ่งนี้แสดงความคิดเห็นและแม้แต่คำตอบบางคำก็ยังไม่สามารถเข้าใจได้เล็กน้อย อย่าตำหนิผู้เขียนของพวกเขา สิ่งที่ฉันเปลี่ยนไปคือ:
- ลบข้อความที่บอกว่าฉันคาดคั้นพาดหัวข่าวตั้งแต่แรกโดยการเปลี่ยนความหมายใหม่
- คำตอบก่อนหน้านี้แสดงให้เห็นว่าฉันไม่ได้ระบุอย่างชัดเจนเพียงพอว่าเหตุใดฉันจึงคิดว่าพฤติกรรมแปลก ๆ ดังนั้นฉันจึงเพิ่มตัวอย่างที่ตรวจสอบสตริงและทำการเปรียบเทียบด้วยตนเอง