JavaScript中的循环引用示例
如果两个单独的对象相互传递引用,则会发生循环引用。
在较旧的浏览器中,循环引用是导致内存泄漏的原因。随着垃圾收集算法的改进,该算法现在可以很好地处理循环和循环依赖性,这不再是问题。
但是,从纯粹的设计角度来看,循环引用仍然是一件不好的事情,并且有代码臭味。循环引用意味着彼此引用的2个对象紧密耦合,对一个对象的更改可能还需要对其他对象进行更改。
假设您有2个对象,“狗”和“人”。您希望能够仅使用dog对象来引用狗的所有者,而使用person对象来引用人的宠物。
let dog = new Dog(); let person = new Person(); //创建一个循环引用 dog.owner = person person.pet = dog
在大多数情况下,您只需要访问一个对象并从该对象派生另一个对象。因此您可以断开其中一个链接。如果不是,则可以使用映射在相反的情况下映射对象。但是,与其使用hack,不如使用循环引用。
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短