我在执行时遇到问题parseFloat()
- 我不明白为什么会产生以下输出:
document.write(parseFloat("6e2") + "<br />"); //output is 600 why?
document.write(parseFloat("6b2") + "<br />"); //output is 6 why?
document.write(parseFloat("6c2") + "<br />"); //output is 6 why?
Run Code Online (Sandbox Code Playgroud)
你能告诉我脚本是如何工作的吗?
Ada*_*kis 12
6e2
产生600,因为它将您的输入视为科学记数法.
6e2 == 6 x 10 2 == 600
另外两个产生6因为parseFloat
解析6,然后得到输入它不能转换为数字,所以它停止,并返回到目前为止找到的结果.
每个MDN:
parseFloat是一个顶级函数,不与任何对象关联.
parseFloat解析其参数,一个字符串,并返回一个浮点数.如果遇到符号(+或 - ),数字(0-9),小数点或指数以外的字符,则返回到该点的值,并忽略该字符和所有后续字符.允许前导和尾随空格.
如果第一个字符无法转换为数字,则parseFloat返回NaN.
出于算术目的,NaN值不是任何基数中的数字.您可以调用isNaN函数来确定parseFloat的结果是否为NaN.如果将NaN传递给算术运算,则运算结果也将是NaN.
归档时间: |
|
查看次数: |
1995 次 |
最近记录: |