parseint函数功能(parseint函数)
您好,蔡蔡就为大家解答关于parseint函数功能,parseint函数相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、那是在IE上才会出现的问题,具体是哪个版本的IE来我忘了,当调用parseInt()时,他会先把字符串变成几进制(具体几进制,我忘了)然后在转换成数字,对于纯数字的字符串建议用Number()下面是从网上找的首页 > 学习笔记 > parseInt()方法在IE9中的差异性parseInt()方法在IE9中的差异性对于parseInt()方法,ECMAScript中有这样一条规范请大家一定要注意: ECMAScript规范指出,如果一个字符串以“0”开头(而不是“0x”或“0X”开头),parseInt()可能把它解释为一个八进制数或者一个十进制数。
2、由于这一行为是不确定的,所以不应该使用parseInt()去解析用0开头的数字,除非显示的指定所使用的基数。
3、请看代码:parseInt("050");这句代码在 IE678、火狐、Opera、Safari、Chrome中,均被作为八进制进行解析,所以最终会被解析为40。
4、而在IE9下,是作为十进制来处理的,所以最终的解析结果是50。
5、另外,猜猜下面的代码运行结果都是什么: parseInt("0.12");//0 parseInt(".12");//NaN parseInt("0050");//IE9: 50, IE678+标准浏览器: 40 parseInt("-0050");//IE9: -50, IE678+标准浏览器: -40 parseInt("078");//IE9: 78, IE678+标准浏览器: 7 parseInt("08");//IE9: 8, IE678+标准浏览器: 0 parseFloat("0xFF"); //255总结:如果你真想用parseInt()来解析数字的话,一定要指定第二个参数(基数),这样是最安全的。
6、因为大多数情况下你所解析的数字都是用户输入的,而用户输入080这种东西,我想,很多验证程序都是放过的。
7、所以用parseInt()解析就有可能出现逻辑错误。
8、所以务必要指定基数。
9、例如: parseInt("050", 10); //这里指定被解析数字的基数是十进制。
10、避免了各种浏览器解析不一致的问题。
本文就讲到这里,希望大家会喜欢。
更多知识
-
狗狗生病了如何喂药?口服方法?分享简单实用的方法!
原标题:狗狗生病了如何喂药?口服方法?分享简单实用的方法! 狗...朕略傻 222 阅读
-
楼市大消息!房主买家各收1.5%,这个省会城市出手了!
原标题:楼市大消息!房主买家各收1.5%,这个省会城市出手了! 继...Rose情调※ 295 阅读
-
6月,带你“种草”乐山非遗!
原标题:6月,带你“种草”乐山非遗! 关于“非遗”,你了解多少...我真窝囊 265 阅读
-
伊朗要与多国组建新海军联盟 美国慌了:违背情理
原标题:伊朗要与多国组建新海军联盟 美国慌了:违背情理 伊朗军...臫欺欺亼 279 阅读
-
【环时深度】神十五乘组凯旋,哪些“神器”护航?
原标题:【环时深度】神十五乘组凯旋,哪些“神器”护航? 【环球...俄只是俄ゅ 309 阅读
-
果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全”
原标题:果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全” ...年少纵马且长歌 278 阅读
-
西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王
原标题:西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王 北...贤↘内助 300 阅读
-
被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒
原标题:被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒 ...回忆湿了眼 242 阅读
撰写回复