//判斷對象的類型 Array Object Function String Number .....prototype
function getObjType(obj){
return Object.prototype.toString.call(obj).slice(8,-1);
}對象
//拷貝對象原型鏈
function deepClone(obj){
var type = getObjType(obj), //獲取類型
temp = obj;
if(typeof obj === 'object'){
if(type === 'Array'){
temp = [];
obj.map((item,i) => temp.push(deepClone(item)));
}else if(type === 'Object'){
temp = {};
for(let _name in obj){
//忽略掉原型鏈上的屬性
if(obj.hasOwnProperty(_name)){
temp[_name] = deepClone(obj[_name]);
}
}
}
}else{
return temp;
}
return temp;
}get