前端.基础数据类型&引用数据类型&判断方法
被学姐提了一下,可能作为笔试面试题考,于是补了一下。
基础数据类:Undefined、Null、Boolean、Number、String,和Symbol(唯一值,ES6新设)
引用数据类型:Object,array,function
判断方法:
1)Undefined、Null、Boolean、Number和String, Symbol(唯一),function——可通过typeof(x)检测,x为变量名
2)a instance b(检测a是否为b) 此方法检测不到number, ‘string’, bool
3)用x.constructor==type 判断是否为真 ,但constructor是一个可被修改的属性,不严谨
4)Object.prototype.toString.call(x) 按照x的类型,会显示[Object type],type即为类型
类型之间的区别:
基本数据类型
1)我们不能给基本类型添加属性和方法
2)比较只比较值==与===等价
3)存放在栈区
引用数据类型
1)可以添加属性和方法
2)同时保存在栈堆中,其中变量名和堆地址存在栈区中
3)==与===不等价,因为===会判断堆地址
4)变量间赋值,基本数据类型是新建一个变量,两者独立;而引用类型是存储的堆地址相同,两者的值始终相等。
var a=10; var b = a;
var a={};var b = a;
以上