Аномалии parseInt ()Добрых суток, господа!
Узрейте такой глюк (на мой взгляд), который выдаёт parseInt() вот в такой вот примитивной программе:
function parseInt_fenomenon() { .var s=""; .for(i=0;i<=120;i++)s+="i("+i+")\t=\t"+parseInt("0"+i)+"<br />\n"; .return(s); }
И что же я вижу на выходе?
i(0) = 0 i(1) = 1 i(2) = 2 i(3) = 3 i(4) = 4 i(5) = 5 i(6) = 6 i(7) = 7 i(8) = 0 i(9) = 0 i(10) = 8 i(11) = 9 i(12) = 10 i(13) = 11 i(14) = 12 i(15) = 13 i(16) = 14 i(17) = 15 i(18) = 1 i(19) = 1 i(20) = 16 i(21) = 17 i(22) = 18 i(23) = 19 i(24) = 20 i(25) = 21 i(26) = 22 i(27) = 23 i(28) = 2 i(29) = 2 i(30) = 24 i(31) = 25 i(32) = 26 i(33) = 27 i(34) = 28 i(35) = 29 i(36) = 30 i(37) = 31 i(38) = 3 i(39) = 3 i(40) = 32 i(41) = 33 i(42) = 34 i(43) = 35 i(44) = 36 i(45) = 37 i(46) = 38 i(47) = 39 i(48) = 4 i(49) = 4 i(50) = 40 i(51) = 41 i(52) = 42 i(53) = 43 i(54) = 44 i(55) = 45 i(56) = 46 i(57) = 47 i(58) = 5 i(59) = 5 i(60) = 48 i(61) = 49 i(62) = 50 i(63) = 51 i(64) = 52 i(65) = 53 i(66) = 54 i(67) = 55 i(68) = 6 i(69) = 6 i(70) = 56 i(71) = 57 i(72) = 58 i(73) = 59 i(74) = 60 i(75) = 61 i(76) = 62 i(77) = 63 i(78) = 7 i(79) = 7 i(80) = 0 i(81) = 0 i(82) = 0 i(83) = 0 i(84) = 0 i(85) = 0 i(86) = 0 i(87) = 0 i(88) = 0 i(89) = 0 i(90) = 0 i(91) = 0 i(92) = 0 i(93) = 0 i(94) = 0 i(95) = 0 i(96) = 0 i(97) = 0 i(98) = 0 i(99) = 0 i(100) = 64 i(101) = 65 i(102) = 66 i(103) = 67 i(104) = 68 i(105) = 69 i(106) = 70 i(107) = 71 i(108) = 8 i(109) = 8 i(110) = 72 i(111) = 73 i(112) = 74 i(113) = 75 i(114) = 76 i(115) = 77 i(116) = 78 i(117) = 79 i(118) = 9 i(119) = 9 i(120) = 80
Простите за небольшую избыточность выходных данных, но присмотритесь к этим цифрам. На мой, не мало повидавший взгляд, это есть полный бред!
У кого есть какие разумные мысли по этому поводу? |