今天笔者在一行代码中看到parseInt(Math.random()*10)返回一个0~10之间的整数,这条语句能够正常执行并且返回想要的结果,可是笔者发现了一个问题。parseInt(string,radix)中第一个参数不应该是string吗?
于是笔者执行了第一个操作:
发现Math.random()*10返回的为一个数字类型,它并不是string类型,为什么在使用parseInt()对其进行转换的时候,程序没有报错呢?
最终在MDN上找到对parseInt()函数string参数的解读如下:
这就是原因啦~
下为MDN解释链接:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt