JavaScript 难题:无法理解 parseInt 导致 JavaScript 中的 JavaScript

JavaScript Puzzle: Not able to understand parseInt results in JavaScript

本文关键字:JavaScript parseInt 导致 中的 难题      更新时间:2023-09-26

有人可以解释一下为什么我们在 JavaScript 中得到以下结果吗?

parseInt ( 'a' , 24 ) === 24 ;
>false
parseInt ( 'a' , 34 ) === 24 ;
>false
parseInt ( 'o' , 34 ) === 24 ;
>true

parseInt的第二个参数是基数。

在以 24 或 34 为基数中,"a"等于 10,因为它是字母表的第一个字母,因此它是数字 0-9 之后使用的第一个数字。"o"是字母表中的第 15 个字母,因此在具有这么多数字的基数中,它等于 24,就像你上一个 34 的例子一样。

parseInt(string, radix);的第二个参数是介于 2 和 36 之间的整数,表示第一个参数字符串的基数。

parseInt(string, radix); 的返回值将是第一个参数的十进制整数表示形式,作为指定基数中的数字。

现在,请记住,如果您转换它们:

      Input            Output   
  a (base-24)        10 (base-10)
  a (base-34)        10 (base-10)
  o (base-34)        24 (base-10)

所以,正如你在第三种情况下看到的那样,结果是24和宾果游戏!你去,条件是真的。

您可以使用任何在线工具从一个数字系统转换为另一个数字系统,就像我使用这个一样:

http://extraconversion.com/base-number/base-34

希望这有帮助!