Результат будет "3".
о, поэтому я возился с parseInt, чтобы посмотреть, как он обрабатывает значения, которые еще не инициализированы, и наткнулся на этот драгоценный камень. Ниже происходит для любого радиуса 24 или выше.
parseInt(null, 24) === 23 // evaluates to true
Я протестировал его в IE, Chrome и Firefox, и все они предупреждают об истинности, поэтому я думаю, что это должно быть где-то в спецификации. Быстрый поиск в Google не дал мне никаких результатов, так что я надеюсь, что кто-нибудь сможет объяснить.
Я помню, как слушал речь Крокфорда, где он говорилtypeof null === "object"
из-за недосмотра, заставляющего Object и Null иметь почти идентичный идентификатор типа в памяти или что-то в этом роде, но сейчас я не могу найти это видео.
Попробуй:http://jsfiddle.net/robert/txjwP/
редактировать Исправление: более высокий основа возвращает разные результаты, 32 возвращает 785077
Редактировать 2 От zzzzBov:[24...30]:23, 31:714695, 32:785077, 33:859935, 34:939407, 35:1023631, 36:1112745
ТЛ; др
Объяснить, почемуparseInt(null, 24) === 23
это верное утверждение.