从很热门的实例parseInt("09")==0说起。
parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。
比如说parseInt("010",10)就是10进制的结果:10,
parseInt("010",2)就是2进制的结果:2,
parseInt("010",8)就是8进制的结果:8,
parseInt("010",16)就是2进制的结果:16。
下面我来说说没有指定进制单位的时候,默认是10进制,但:如果是里面的Number是0开头的就认为是8进制的,如果是0x开头的就认为是16进制的。
parseInt("10")==>parseInt("010",10)===>10parseInt("010")==>parseInt("010",8)==>8parseInt("0x10")==>parseInt("010",16)==>16.
到这里很顺利.
许多事情不是想的那么顺利,比如说如果Number不是我们给的正常数字又怎么解释呢。查了些资料,是这样说的:
parseInt(Number)如果中间的Number遇到不是数字(0-9)的就中断往下解析,就只取不是数字之前的值去运算:比如parseInt("100x"),就相当于parseInt("100")===》parseInt("100",10)==>100,又如parseInt("0100x")===>parseInt("0100")===>parseInt("100",8)===>64.
到这里我们似乎无视了一个就是16进制中的有个x,它也不是数字,是不是遇到x也无视了呢。尝试下了发现在这个特殊处理了下,
比如parseInt("0x10")===>parseInt("10",16)===>16和最上面的结果相符,但却和我刚说的,不是字符就自动不解析就应该理解成parseInt("0")相违背。
这里就需要注意下,parseInt里面的Number是这样的,当如果第一个不是0且不是字符就认为是10进制,一切照旧执行,遇到字母就停下来。又当如果是第一个是0,后面那个就需要注意了,如果是x就继续往下走,这里的x不代表数值,只能和前面的0一起组成0x代表16进制的单位,后面的才按上面我们讲的遇到非数字停止解析的规则来。比如parseInt("0xt")==>parseInt("0x")==>parseInt("",16)就是NaN了。
总结下,parseInt(Number)里面的值:如果是第一位不是0就遇到字母就停止解析,并把字母前面的值作为10进制去解析,如果第一个就是字母那么值就是空,空成了NaN,
比如:parseInt("a")==>parseInt("",10)==>NaN.parseInt("10a")==>parseInt("10")==>parseInt("10",10)==>10;
如果第一位是0,且第2位不是x也和上面一样遇到字母就停止解析,并把字母前面的值作为8进制去解析,比如:parseInt("0a")==>parseInt("0")==>parseInt("0",10)==>0.PS:这个有点特殊,因为0a被解析成了0,还不具备看做是8进制的结构,下面那个就明显了。
parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;如果第一位是0,且第2位是x那后面也和上面一样遇到字母就停止解析,并把字母前面的值作为16进制去解析,比如:parseInt("0xt")==>parseInt("",16)==>NaN.parseInt("0x12t")==>parseInt("12",16)==>18.
js,parseInt
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】