Каким образом преобразованные в число NaN и 24 трансформировались в 23?
for(var i = 1; i <= 36; i++)
console.log(i, parseInt(null, i), parseInt("null", i));
Простое совпадение.
parseInt(null, 24)
означает привести строку "null"
(строку потому, что первый параметр, переданный parseInt()
всегда конвертируется в строку) в число в системе счисления с основанием 24.
"n" в данном случае - 23 (потому что есть 9 цифр (кроме нуля) и "n" - 14 буква алфавита. 9 + 14 = 23).
"u" - 30. Уже выходит за пределы системы счисления с основанием 24. Поэтому возвращается 23
, то есть число, полученное до этого момента.
Иными словами parseInt(null, 24)
=== parseInt("null", 24)
=== parseInt("n", 24)
=== 23
.
Отсюда и ответ - 23 === 23
- true
.
parseInt(null, m) === 23
всегда даст true
, если m
находится в пределе от 24 до 30.
Конкретно этот случай интересен лишь тем, что в первый параметр передается null
как значение, а не как строка. Это вас и смутило. И null
- это, пожалуй, единственное значение в языке, при конвертации в число с основанием 24 которого результат максимально приближен к самому основанию системы счисления.
Каким образом преобразованные в число NaN и 24 трансформировались в 23?
И насчет вот этой части. Это не NaN
и 24
"трансформировались", а только null
, которое при конвертации в число (с основанием 24+) средствами метода parseInt
дает 23.
То есть метод parseInt
принимает в качестве первого аргумента то, что нужно сконвертировать, а в качестве второго то, что будет является основанием системы счисления.
Больше о самом методе здесь, о "системах счисления" тут (больше по соответствующему запросу в гугле; посмотрите также именно про "основание системы счисления"), другие ответы на этот вопрос (на английском, правда) здесь.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я так предпологаю что этот код расшифровывает строку, но как им можно воспользоваться? Я не особо понимаю в JS, поэтому прошу помощи
Друзья, здравствуйтеСтолкнулся с проблемкой, нужно взять из исходного массива несколько значений и поместить их впереди, при этом вернуть...
Есть список, каждый элемент которого является компонентом (Item)Список строится из state родителя (List)
Есть массивЕго надо отсортировать так, чтоб порядок был следующий: Здравствуйте, Здравствуйте, Привет, Привет, Пока