【JavaScript】浅克隆与深克隆


var originObj = {
  name: "小明",
  array:["666","777","888"],
  object:{
    name:"lgq",
    prop:["good","beautiful","cool"],
    obj:{O
      age:"18",
      sex:"boy"
    }
  }
}

var targetObj = {};

/**
* 浅克隆
*/

function clone(origin,target){

  var target = target || {};//target若不定义,默认为{}

  for(var prop in origin){//枚举原始对象属性(数组同样适用只是数组的prop为下标0、1、2...)
    if(origin.hasOwnProperty(prop)){//判断属性是否是其本身的属性 返回true或false(为的是过滤其原型链上的属性)
      target[prop] = origin[prop]//原始对象属性clone至目标对象
    }
  }

  return target;
}

clone(originObj ,targetObj ) //执行浅clone

猜你喜欢

转载自www.cnblogs.com/arvin-LGQ/p/11319537.html