【问题标题】:Numerical transformation in javascript and math operation [duplicate]javascript和数学运算中的数值转换[重复]
【发布时间】:2016-09-04 05:03:53
【问题描述】:

代码如下:

alert(typeof(+"13t"));
alert(1 + (+"13t"));

为什么第一行的输出是“数字” 第二行的输出是“NaN”??

【问题讨论】:

  • 无意冒犯,但我们已经有数百万个关于在 javascript 中转换类型的问题,而且它总是归结为 RFTM。只需阅读 MDN 文档即可。
  • (+"13t") 返回什么? :) 那会回答你的问题。
  • @TomášZato 快速问题需要快速回答。
  • 您对快速回答的感知需求与这里完全无关。进行基础研究。

标签: javascript numbers transformation numerical


【解决方案1】:

NaN 一个数字。尽管NaN 的意思是“不是数字”,但它的数据类型仍然是“数字”。

字符串"13t" 强制转换为数字值时会产生NaN,这不足为奇。将1 添加到NaN 也会产生NaN

【讨论】:

    【解决方案2】:

    那是因为

    typeof NaN; //outpute "number"
    

    +"13t" //is NaN
    

    第二个是尝试将1 添加到NaN,它仍然是NaN

    【讨论】:

      猜你喜欢
      • 2017-02-27
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      相关资源
      最近更新 更多