Heim > Fragen und Antworten > Hauptteil
In Bezug auf Referenztypen ist die Wertzuweisung nur eine Kopie des Heap-Speichers, d. h. mehrere Variablen verweisen auf denselben Heap-Speicher. Aber unter Chrome bin ich beim Testen auf eine solche Situation gestoßen. Ich hoffe, die Experten können mir eine Antwort geben
Im Bild unten
Gemäß der Verwendung von Referenztypen sollte das Objekt beim Abbrechen von a nicht mehr existieren, aber b hat immer noch diese Referenz. Meine Frage lautet: Sollte das von b ausgegebene Ergebnis nicht null sein, oder?
高洛峰2017-05-19 10:46:03
举个例子:
a = {}; 假如 {} 在内存里的名字为 0x2334c;
b = a; 实际执行的是 b = 0x2334c;
a = null; 执行的是给a标记,等待销毁;
但b 还在引用 0x2334c ,所以0x2334c被没有被销毁;
除非 b和a = null;