判断对象是否存在循环引用
在JavaScript中,循环引用通常发生在以下两种情况:
对象属性相互引用:两个对象都有一个属性引用对方,例如:obj1.a = obj2; obj2.b = obj1;。
闭包相互引用:一个函数内部引用了另一个函数,并且该内部函数引用了外部函数的变量,例如:function A() { function B() { console.log(a); } a = B; } function B() { A(); }。
代码:https://www.nowcoder.com/issue/tutorial?zhuanlanId=0DQQQm&uuid=cdefca9451714b25ac68a88352e3f5a3
对象属性相互引用:两个对象都有一个属性引用对方,例如:obj1.a = obj2; obj2.b = obj1;。
闭包相互引用:一个函数内部引用了另一个函数,并且该内部函数引用了外部函数的变量,例如:function A() { function B() { console.log(a); } a = B; } function B() { A(); }。
代码:https://www.nowcoder.com/issue/tutorial?zhuanlanId=0DQQQm&uuid=cdefca9451714b25ac68a88352e3f5a3
全部评论
相关推荐
点赞 评论 收藏
分享