javascript – Probleme mit JS-Referenztypen unter Chrome
过去多啦不再A梦
过去多啦不再A梦 2017-05-19 10:44:03
0
2
834

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

  1. Ich habe eine Variable a erstellt und ihr ein leeres Objekt zugewiesen

  2. Weisen Sie Variable a der Variable b zu

  3. aFügen Sie einen Attributnamen hinzu

  4. ein Abmelden

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?


过去多啦不再A梦
过去多啦不再A梦

Antworte allen(2)
小葫芦

举个例子:
a = {}; 假如 {} 在内存里的名字为 0x2334c;
b = a; 实际执行的是 b = 0x2334c;
a = null; 执行的是给a标记,等待销毁;
但b 还在引用 0x2334c ,所以0x2334c被没有被销毁;
除非 b和a = null;

滿天的星座

a,b都指向同一块地址c,将a=null,只是让a不再指向c,并不是将c的数据销毁,然而b还是指向c,没毛病

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage