parseInt vs一元加-何时使用

parseInt vs一元加-何时使用,第1张

parseInt vs一元加-何时使用

好吧,这是我知道的一些区别:

  • 字符串

    ""
    计算结果为a
    0
    ,而其
    parseInt
    计算结果为
    NaN
    。IMO,空白字符串应为
    NaN

    +'' === 0;   //true

    isNaN(parseInt(‘’,10)); //true

  • 一元的

    +
    行为更像是
    parseFloat
    因为它也接受小数。

parseInt
另一方面,当看到非数字字符(例如要用作小数点的句点)时,它将停止解析
.

    +'2.3' === 2.3;//trueparseInt('2.3',10) === 2; //true
  • parseInt
    从左到右
    parseFloat
    解析并构建字符串。如果他们看到一个无效字符,它将返回已解析的内容(如果有)为数字,如果没有解析为数字,则返回。 __
    NaN

+
另一方面,
NaN
如果整个字符串不可转换为数字,则一元将返回。

    parseInt('2a',10) === 2; //trueparseFloat('2a') === 2;  //trueisNan(+'2a'); //true
  • 如@Alex K.的评论所示,
    parseInt
    并将
    parseFloat
    按字符进行解析。这意味着十六进制和指数符号将失败,因为
    x
    e
    将被视为非数字组件(至少在base10上)。

一元

+
将正确地转换它们。

    parseInt('2e3',10) === 2;  //true. This is supposed to be 2000+'2e3' === 2000;//true. This one's correct.parseInt("0xf", 10) === 0; //true. This is supposed to be 15+'0xf' === 15;  //true. This one's correct.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5566263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存