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

parseInt()和Number()有什么区别?

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

parseInt()和Number()有什么区别?

嗯,它们在语义上是不同的,

Number
称为函数的构造函数执行类型转换并
parseInt
执行 解析 ,例如:

// parsing:parseInt("20px");       // 20parseInt("10100", 2);   // 20parseInt("2e1");        // 2// type conversionNumber("20px");       // NaNNumber("2e1");        // 20, exponential notation

请记住,如果

parseInt
在字符串上检测到前导零,它将以八进制为基础来解析数字,这在标准的新版本ECMAscript
5中已更改,但是要花很长时间才能进入浏览器实现((与ECMAscript3不兼容),也
parseInt
将忽略与当前使用的基数的任何数字都不对应的结尾字符。

Number
构造函数不检测八进制:

Number("010");         // 10parseInt("010");       // 8, implicit octalparseInt("010", 10);   // 10, decimal radix used

但是它可以用十六进制表示法处理数字,就像

parseInt

Number("0xF");   // 15parseInt("0xF"); //15

另外,用于执行数值类型转换的一种广泛使用的构造是一元

+
运算符(p。72),它等效于将
Number
构造函数用作函数:

+"2e1";   // 20+"0xF";   // 15+"010";   // 10


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

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

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