JavaScript基础----数据类型
网上资料整理得出。
一、数据类型
俗称7+2种数据类型
二、数据类型检测
-
typeof
- 检测数据类型的逻辑运算符。
- 返回的结果都是字符串。
- 局限性:typeof null 为object,typeof不能细分对象类型,检测普通对象或者数组对象都是object
-
instanceof
- 检测是否为某个类的实例
-
constructor
- 检测构造函数
-
Object.prottotype.toString.call
- 检测数据类型
三、Number类型详解
- NaN
- 不是一个有效数字,和谁都不相等,但是是number类型
- infinity
- Number()
- parseInt(整数)/parseFloat
把其他类型转换为有效数字的方法
1.强转换(基于底层机制转换)Number([value]),隐式转换都是基于Number转换:
Number:直接调用l浏览器最底层的数据类型检测机制来完成(true:1,false:0,null:0,undefined:NaN,空字符串为0),先转换为数字在进行检测 ,只要有一个非有效数字字符出现就是NaN
2.弱转换(基于一些额外的方法转换)parseInt([value])/parseFloat([value])
parseInt:处理的值是字符串,从字符串左侧开始查找有效数字字符(遇到非有效数字字符则停止查找)。字符串中必须都是有效数字才会转换数字,否则都是NaN,空对象变成字符串:{}.toString()=>"[object Object]"
双等号比较:
1.对象=字符串,对象转换为字符串
2.null==undefined 但是和其他 值都不相等
3.剩下两边不同都是转换为数字