以下哪些表达式的结果为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