parseInt (null, 24) === 23 ... เดี๋ยวก่อนอะไรนะ?
เอาล่ะฉันเลยไปยุ่งกับ parseInt เพื่อดูว่ามันจัดการกับค่าที่ยังไม่ได้เริ่มต้นและฉันสะดุดกับอัญมณีนี้ ด้านล่างเกิดขึ้นสำหรับ Radix ใด ๆ 24 หรือสูงกว่า parseInt(null, 24) === 23 // evaluates to true ฉันทดสอบใน IE, Chrome และ Firefox และพวกเขาทั้งหมดแจ้งเตือนจริงดังนั้นฉันคิดว่ามันต้องอยู่ในสเปคที่ไหนสักแห่ง การค้นหาโดย Google อย่างรวดเร็วไม่ได้ให้ผลลัพธ์ใด ๆ แก่ฉันดังนั้นฉันจึงหวังว่าจะมีคนอธิบายได้ ฉันจำได้ว่าฟังคำพูดของคร็อคฟอร์ดที่เขาพูดtypeof null === "object"เพราะการกำกับดูแลทำให้ Object และ Null มีตัวระบุประเภทใกล้เคียงกันในหน่วยความจำหรือบางอย่างในบรรทัดเหล่านั้น แต่ตอนนี้ฉันไม่พบวิดีโอนั้น ลองทำดู: http://jsfiddle.net/robert/txjwP/ แก้ไขการแก้ไข: Radix ที่สูงกว่าให้ผลลัพธ์ที่แตกต่าง 32 ผลลัพธ์ 785077 แก้ไข 2จาก zzzzBov:[24...30]:23, 31:714695, 32:785077, …