gpt4 book ai didi

javascript - 为什么 "\n"在 Javascript 中是一个数字 "NaN"

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:34:56 25 4
gpt4 key购买 nike

在 Chrome 和 Firefox 上的 JavaScript 中:

isNaN( "\n") 给出 false
parseFloat ( "\n") 给出 NaN

\t\r\f 的结果相同。'

  • \n 是一个数字
  • 解析的 \n 给你的不是数字。
  • NULL 字节 \0\\\" 等转义字符按预期工作。
  • 我们知道 NaN 是一个数字,只是不能用任何其他值表示
  • 所以 \n 是一个数字,无法表示。

为什么浏览器要这样实现?

最佳答案

因为 toNumber 转换任何仅由空格组成的字符串(或者如果它为空)会导致 0

console.log(Number("\n")); // 0

parseInt/Float 方法实际上需要转换一些 数字内容,尽管它允许前导空格和尾随垃圾。

console.log(parseFloat("   123.45odsifjj")); // 123.45

toNumber 转换在 9.3.1 ToNumber Applied to the String Type 中定义.

A StringNumericLiteral that is empty or contains only white space is converted to +0

关于javascript - 为什么 "\n"在 Javascript 中是一个数字 "NaN",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com