underscore.js只支持潜拷贝吗?

var src = {
  src: 'SRC',
  test: {
    name: 'test',
    val: 0
  }
};

var dist1 = _.extend({ dist: 1 }, src);
dist1.test.name = 'test1';
dist1.test.val = 1;
console.log('src', src);
console.log('dest1', dist1);

var dist2 = _.extend({}, src);
dist2.dist = 2;
dist2.test.name = 'test2';
console.log('src', src);
console.log('dest2', dist2);

var dist3 = _.clone(src);
dist3.dist = 3;
console.log('src', src);
console.log('dest3', dist3);

运行这段代码发现,test其实是同一个引用
这样不是一不小心就会产生bug?

阅读 2.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏