function fn() {
var a = {};
var b = {};
a.pro = b;
b.pro = a;
}
fn();
function fn() {
var a = {};
var b = {};
a.pro = b;
b.pro = a;
}
fn();
因为要回复的内容比较多,所以我重新回答了一次。
红宝石原文:引用计数的含义是跟踪记录每个值被引用的次数。
引用次数计算:
①当声明一个变量并将一个引用类型赋值该变量时,引用次数为1;
②如果同一个值又被赋给另一个变量,则该值的引用次数+1。
③如果包含对该值引用的变量又取得另一个值,则该值的引用次数-1。
那么结合这个理论,变量a被创建并赋值(var a={})引用次数为1;
那么当b.pro=a;引用次数+1;
所以a的引用次数是2;
对于变量b也是同理。