IT源码网

怎样拷贝对象讲解

lxf 2021年03月09日 编程语言 194 0

方法一: 

function copyObject(orig) { 
  var copy = Object.create(Object.getPrototypeOf(orig)); 
  copyOwnPropertiesFrom(copy, orig); 
  return copy; 
} 
 
function copyOwnPropertiesFrom(target, source) { 
  Object 
    .getOwnPropertyNames(source) 
    .forEach(function (propKey) { 
      var desc = Object.getOwnPropertyDescriptor(source, propKey); 
      Object.defineProperty(target, propKey, desc); 
    }); 
  return target; 
}

 

方法二: 

function copyObject(orig) { 
  return Object.create( 
    Object.getPrototypeOf(orig), 
    Object.getOwnPropertyDescriptors(orig) 
  ); 
}

 

发布评论
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

怎样获取对象的所有属性讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。