typeof :检测数据类型
作用:
a = {
1:2,
10:4,
100:9,
}
console.log(typeof(a)); //输出 :object
实现原理:
typeof是使用二进制进行判断
可以看到,null因为其特殊性,会被误判
判断是否为对象使用规范:
//判断options是否为对象
const fn = options =>{
if (options!==null&&(typeof options == "object"||typeof options == "function")){
//内容
}
}
Number[value] : 数字类型转换
原理:
转换规则:字符串变数值,空字符串变0,任何带非数字字符串结果为NaN
把布尔转为数字 true -> 1 , false -> 0
null -> 0 , undefined -> NaN
如果是对象等其他类型,会根据以下步奏:
例如:
let arr = [10]
console.log(Number(arr))
//原始值 ,就是基本数据类型。
parseInt([val],[radix])
例如:
简易用法:
console.log(parInt('10102px123123',2)); //10 只转换1010
高级用法,MAP组合:
解释:
一个冷知识: js中,0开头的数字,会被默认认为是8进制,并转为10进制,进行转换
这里默认转换: 再进parseInt
parseInt(0013,2) //3
String([val]) 和 [val].toSring
正常用