Ich lerne immer noch, wie Referenzierung und Garbage Collector in Javascript arbeiten, daher in meinem Beitrag zu blähen und Lecks zu reduzieren. Ich erstelle eine Factory, die ein Objekt enthält, dessen Werte übergeben oder von ihm abgerufen werden können.Objekt in JSON string und null es
.factory('lib', function(){
var lib={};
return {
set: function(id,value,isObj){
if(isObj){
lib[id]=JSON.stringify(value);
}else{
lib[id]=value;
}
},
del: function(id){
lib[id]=null;
}
};
})
.controller('testCtrl',function(lib,$timeout){
lib.set("1",{'name':'James','sureName':'Potter'},true);
$timeout(function(){
lib.del("1");
},1000);
})
Also meine Fragen sind; indem ich mein obj in eine Zeichenkette umwandelt, später in eine Zeichenkette und jetzt als Nullwert. Wird mein original obj erreichbar sein und wird es vom Garbage Collector abgeholt? Was passiert auch mit den Eigenschaften des Objekts? Ich versuche mich in eine Zeichenfolge zu verwandeln?
JSON.Stringify gibt nur einen String zurück, der nichts mit dem Objekt zu tun hat, nachdem es erstellt wurde. Es ist ein String-Objekt ohne Referenzen auf das Objekt. Sie können das Objekt und die Zeichenfolge beliebig ändern, und sie sind völlig unabhängig voneinander. –