关于parseInt()

先看一个题目:

['1', '2', '3'].map(parseInt)

上面题目的输出结果是:[1,NaN,NaN]
这是为什么呢?

parseInt函数有两个参数

语法:parseInt(string, radix)
string:要被解析的子符串(必需的)
radix:可选参数(所以,我们一般不注意它),表示要解析的数字的基数,该值介于2~36之间。默认为10,如果该参数小于2或者大于36,则parseInt将返回NaN.

结果很明显了,上述题目的运行过程就是:

parseInt('1',0)//1
parseInt('2',1)//NaN(因为parseInt的定义,超出了radix的界限)
parseInt('3',2)//NaN(虽然没有超出界限,但是二进制里面没有3,因此返回NaN)

结束!

猜你喜欢

转载自blog.csdn.net/qq_39083004/article/details/84026926
今日推荐