为了账号安全,请及时绑定邮箱和手机立即绑定

迅雷面试题:深拷贝对象,除了原型上的属性?

迅雷面试题:深拷贝对象,除了原型上的属性?

ABOUTYOU 2019-02-08 18:42:11
我的解决方法是:参考jquery中extend方法的实现,通过isPlainObject 函数判断该对象是否具有通过构造函数继承的原型上的属性。请问,我这个解决方法有什么问题吗? isPlainObject = function(obj) {          if (obj.constructor && !hasOwn.call(obj, "constructor")            && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) {            return false;          }          var key;          for (key in obj) {          }          return key === undefined || hasOwn.call(obj, key);},                //测试,对于对象x不进行深拷贝function O() {  this.yyy = 'yyy';}function X() {  this.xxx = 'xxx';}X.prototype = new O();x = new X();obj1 = { a : 'a', b : 'b', y : '1'  };obj2 = {  x : { xxx : 'xxx', yyy : 'yyy' },  y : 'y' };var combineObj = $.extend(true,obj1,obj2);console.log(combineObj);
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 397 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信