关于Javascript中的parseInt()的澄清

Aka*_*oel 3 javascript parseint

parseInt(0.000004); //0 
parseInt(0.0000004);  //4 
Run Code Online (Sandbox Code Playgroud)

为什么第一个parseInt()返回0,但如果我增加十进制后的零数,则给出4?

Jon*_*ski 6

部分原因是因为parseInt()它的参数需要一个字符串,并首先将其他任何东西转换为字符串.

console.log(0.000004.toString());
// "0.000004"

console.log(0.0000004.toString());
// "4e-7"
Run Code Online (Sandbox Code Playgroud)

并且,parseInt()不识别电子符号,并且在后一种情况下,仅接受"4"来自结果字符串的电子符号.