在JS中,数据类型分为基本数据类型和引用数据类型两种,对于基本数据类型来说,它的值直接存储在栈内存中,而对于引用类型来说,它在栈内存中仅仅存储了一个引用,而真正的数据存储在堆内存中
基础数据类型 undefined,boolean,number,string,null,
引用数据类型 Object 类型、Array 类型、Date 类型、RegExp 类型、Function 类型
判断数据类型方法 typeof instanceof constructor toString
深拷贝方法
let result;
if(typeof target === 'object') {
if(Array.isArray(target)) {
result = [];
for(let i in target) {
result.push(deepClone(target[i]));
}
} else if(target === null) {
result = null;
} else if(target.constructor === RegExp) {
result = target;
} else {
result = {};
for(let i in target) {
result[i] = deepClone(target[i]);
}
}
} else {
result = target;
}
return result;
}