js脚本语言:异步单线程的语言,浏览器是个多线程的环境
数据类型:
基本数据类型:number string boolean null undefined Symbol bigint
引用数据类型:Object Array Function
为什么要区分数据类型? 为了合理利用存储空间
基本数据类型和复杂数据类型的区别
存储的位置不一样
基本数据类型存放在栈里
引用存放在堆里
判断数据类型的方法
1.typeof ---- 能够判断除null外的所有基本数据类型和函数function
书写方式: type 需要检验的数据
2.constructor ----- 能判断除null和undefined的所有数据类型
书写方式: 需要检验的数据.constructor==类型
3.instanceof ---- 只能判断复杂数据类型
书写方式:数据 instanceof 数据类型
4.Object.prototype.toString.call() ----- 可以判断所有的数据类型
书写方式:Object.prototype.toString.call(需要检验的数据)
5.isArray ----- 判断是否是数组
书写方式:Array.isArray(数据)