ฉันพยายามเปรียบเทียบ 10 และ 010 as 10 == 010
แต่ได้ผลลัพธ์เป็น false
จากนั้นฉันพยายามพิมพ์/แจ้งเตือนค่าต่อไปนี้
10 result 10
010 result 8
12 result 12
012 result 10
100 result 100
0100 result 64
65 result 65
065 result 53
99 result 99
099 result 99
196 result 196
0196 result 196
ผลลัพธ์แบบเดียวกันสำหรับจำนวนลบด้วย
-99 result -99
-099 result -99
-32 result -32
-032 result -26
-196 result -196
-0196 result -196
-66 result -66
-066 result -54
ข้อมูลเพิ่มเติม
จาก (+/-)078 ถึง (+/-)099 ผลลัพธ์ถือว่าถูกต้อง
Ex:
78 result 78
078 result 78
-87 result -87
-087 result -87
พฤติกรรมเดียวกันใน Chrome, FireFox, IE
ฉันสงสัยว่าทำไมพฤติกรรมแปลก ๆ นี้? มันเป็นข้อผิดพลาดของ JS หรือคุณสมบัติพิเศษของ JS ใครสามารถอธิบายได้ว่าทำไมถึงเป็นเช่นนั้น
ขอบคุณล่วงหน้า.
โปรดแสดงความคิดเห็นหากคุณต้องการรายละเอียดใดๆ
0x
นำหน้าเช่นเดียวกับใน0x123
บอกว่าตัวเลขนั้นเป็นเลขฐานสิบหก) - person nnnnnn   schedule 29.10.201410 == 012
(จริง) เพราะเช่นเดียวกับที่คุณพบข้างต้น 012 ฐานแปดคือ 10 ในฐานสิบ นี่คือเหตุผลว่าทำไมการตั้งค่า Radix ใน parseInt() และมีการระบุไว้ในคำอธิบายด้วย - person Spokey   schedule 29.10.2014