栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

parseInt vs一元加,什么时候使用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379399.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号