首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >克隆对象的原型继承-- IE10

克隆对象的原型继承-- IE10
EN

Stack Overflow用户
提问于 2015-06-19 00:39:07
回答 1查看 59关注 0票数 0

我正在尝试克隆一个对象,使用的是lodash的_.clone

但是,我希望保持克隆对象的原型继承不变。IE10不允许我访问__proto__,甚至这个Object.setPrototypeOf(toObj, Object.getPrototypeOf(fromObj));,我也不想通过父对象上的callapply访问,因为父对象上有很多需要从克隆对象调用的setter和getter方法。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-21 17:24:29

经过一些尝试,我发现了我的一个用处:

代码语言:javascript
复制
/**
 * Shallow clone an object and retains the prototype chain
 * @param   {Object} fromObj Object to be cloned
 * @returns {Object} Cloned Object
 */
function cloneObj(fromObj) {
  var toObj, i;

  if (fromObj && typeof fromObj === 'object') {
    toObj = new fromObj.constructor();

    for (i in fromObj) {
      if (fromObj.hasOwnProperty(i)) {
        toObj[i] = fromObj[i];
      }
    }
  } else {
    throw new Error(fromObj + ' cannot be cloned');
  }

  return toObj;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30921097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档