parseInt 以数字开头,则取截止到第一个字母出现之前的所有数字进行转换 parseInt("12x2bc", 10) // 返回:12

以下哪些表达式的结果为true()
A
undefined == null
B
isNaN("100")
C
parseInt("1a") === 1
D
[] instanceof Array

正确答案:ACD

考点一: isNaN()的隐式转换

isNaN(item) 的时候会先将item进行 Number(item) 的隐式转换,然后再isNaN(item)

考点二:parseInt(string,raix)

1 )注意:string字符串只会被解析从第一个字符开始直到不是数字的字符部分
console.log(parseInt('223'));//223
2) 当字符串中间存在非数字,那么就只解析前面是数字的部分字符
console.log(parseInt('22e3'));//22
3) 如果字符串中第一个字符就不是数字,那么返回NaN
console.log(parseInt('e21'));//NaN

4) 第二个参数raix表示进制数,如果值是10就表示转换成10进制

考点三:判断数据类型的常见方法(各个的缺点是啥)

1)typeOf ([], null, Object判断结果都是object)

2)instanceof

3)Object.prototype.toString.call()

===================================================
1、如果都是字母, 返回:NaN

parseInt("abc", 10) //返回 NaN

2、如果都是数字,则返回整数

parseInt("123", 10) //返回 123

3、如果字母和数字都存在

(1)、以数字开头,则取截止到第一个字母出现之前的所有数字进行转换

parseInt("12x2bc", 10) // 返回:12

(2)、如果参数“string”,以字母开头,直接返回NaN (10进制中字母不是一个有效的的表示)

parseInt("df2bc", 10) //返回 NaN

======================================================
// 1. isNaN()函数用来判断一个数是否是NaN;
// 只有一个值是NaN或者能被转换为NaN的时候才返回true
console.log(isNaN('e'));//true,因为e可以被转换为NaN
console.log(isNaN('11'));//false,因为字符串可以被转换为数字,不能被转为NaN
console.log(isNaN(null));//false,因为null可以被转换为0,不能被转为NaN
console.log(isNaN(NaN));// true,NaN返回true

// 2. parseInt(string,raix)函数有两个参数 // 2.1 注意:string字符串只会被解析从第一个字符开始直到不是数字的字符部分 console.log(parseInt('223'));//223 // 2.2 当字符串中间存在非数字,那么就只解析前面是数字的部分字符 console.log(parseInt('22e3'));//22 // 2.3 如果字符串中第一个字符就不是数字,那么返回NaN console.log(parseInt('e21'));//NaN // 对于parseInt()函数还有一个易考点,就是利用数组的下标,还记得parseInt()函数的第二个参数吗? // 2.4 parseInt()函数的第二个参数指的就是进制,这个参数小于2或者大于36的时候,都会返回NaN console.log(parseInt(1,1));//NaN ,因为第二个参数是1表示1进制<2,所以错误 console.log(parseInt(1,2));//1,因为表示二进制 =2,在范围内 // 2.5 我们一般都是省略这个参数的,这个时候就是默认为10进制 console.log(parseInt(99));//99 // 2.6 我们第二个参数使用0的时候也是使用十进制 console.log(parseInt(99,0));//99 // 2.7 如果第一个参数前缀使用0x/0X则表示使用16进制 console.log(parseInt(0x99));//153=16*9+9 console.log(parseInt(0x99,10));//如果第一个参数使用了0x表示十六进制,那么第二个参数设置了值也无效 // 2.8 看一个实例,对于数组 var arr=[1,2,3,2,5]; console.log(arr.map(parseInt));//[1, NaN, NaN, 2, NaN] // arr.map方法就是对于数组arr里面的每一项都去使用方法里面的函数,最后返回新数组 // 因为map方***有索引,所以实际上就是 parseInt(1,0);//1,因为0表示十进制 parseInt(2,1);//1进制<2,所以错啦! parseInt(3,2);// 2进制,但是3不在0——2范围内(3应该改为11),所以不符合2进制要求 parseInt(2,3);//符合,因为三进制是0-3,而2在范围内 parseInt(5,4);//4进制不包括5,所以NaN

__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17825803.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示