数据类型
在js中的数据类型可以分为两种:
- 基本数据类型:包括Number、String、Boolean、Undefined、Null、Symbo
- 引用数据类型:Object。包含Object、Array、 function、
typeOf运算符
typeof 能有效检测基本类型,检测引用类型都返回object,其中null属于特殊的引用类型返回object,function属于特殊引用类型类型不用于存储数据,typeof检测返回function
深拷贝
function deepClone(obj = {}){
//判断一下obj是不是对象或者是不是null,如果不是对象或者等于null的话就直接返回
if(typeOf obj !=='object' || obj == null){
return obj
}
let result
//判断obj是数组的话result就等于空数组,是对象的话result就等于空对象
if(obj instancenOf Array){
result = []
}else{
resule = {}
}
//进行递归
for(let key in obj){
if(obj.hasOwnproperty[key]){
resule[key] = deepClone(obj[key])
}
return result
}
=运算符
判断一个变量是不是等于null或者是不是undefined的时候用两个等号,其余的都用三个等号
truely变量和falsely变量
!!0 , !!null , !!" " , !!false , !!NaN , !!undefined 都是falsely变量其余的都是truely变量