eg:
var obj={
name:'abc',
age:123,
card:['visa','master'],
wife:{
name:'bcd',
son:{
name:'aaa',
age:'123'
}
}
}
var obj1={}
// 遍历对象 for (var prop in obj)
//1.判断是不是原始值 typeof() 判断是不是object
//2.判断是数组还是对象
//3.建立相应的数组或对象
// 递归
function deepClone(origin,target) {
var target=target || {};
var toStr = Object.prototype.toString;
var arrStr = "[object Array]";
for (var prop in origin){
if (origin.hasOwnProperty(prop)){ //判断是自己的而不是原型链上的
if (origin[prop]!=="null"&& typeof (origin[prop])=='object'){ //判断是不是引用值 绝对不等于null
if (toStr.call(origin[prop]) == arrStr){ //判断是不是数组
target[prop]=[];
}else{ //对象
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载