在JS里,除Array和Object之外的数据类型的复制可以直接通过等号=来实现,但Array和Object类型的数据通过等号只是起引用作用,指向的是同一块内存地址。当源数据改变,引用的数据也同时会发生变化。因此若要复制这两类数据类型就必须对它们里边的每一个元素都逐个进行复制,可以通过迭代实现。
let util = ( ()=> {
// 获取数据类型
let getType=(obj)=> {
let type = Object.prototype.toString.call(obj);
return /object\s(.*)]/.exec(type)[1];
};
let isType=(obj, type)=>{
obj = getType(obj).toLowerCase();
return obj === type;
};