Skip to content

不能处理循环引用 #1

@zgw010

Description

@zgw010

问题是什么

不能处理循环引用

环境

  • 浏览器:chrome 73.0.3683.75

在线例子

// case 1, 自身有环
const obj = {
  foo: {
    bar:null
  }
}
obj.foo.bar = obj.foo 
// case 2, 互相引用
const obj1 = {
  foo: {
    bar:null
  }
}
const obj2 = {
  baa: {
    caa:obj1.foo
  }
}
obj1.foo.bar = obj2.baa
extend(true, obj1,obj2);

其他

我试了下 jquery 也不能处理这种, 看了下他源码, 处理的方式和你是一样的, 能解释下为什么要这么处理吗,如果真有循环引用的话, 会一直不能 return target ,那么这个判断条件就一直是 false 呀.

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions