var Obj = function(){}; var X = new Obj();
जावास्क्रिप्ट में आप स्मृति को कैसे साफ़ करते हैं?
X = null
मेमोरी ठीक से साफ़ करेगा?
यह भी समकक्ष होगा?
var Obj = function(){};
var X = {};
X.obj = new Obj();
delete(X.obj);
संपादित यह प्रतीत होता है कि यद्यपि को हटाने X.obj नहीं तुरंत स्पष्ट स्मृति, यह कचरा संग्रहण में मदद करेगी। यदि मैं X.obj को नहीं हटाता, तो अभी भी किसी ऑब्जेक्ट के लिए पॉइंटर होगा और इसलिए जीसी इसे साफ़ नहीं कर सकता है।
हालांकि मैं @ डेलन के जवाब को चुन रहा हूं, अगर आप इसे पढ़ रहे हैं तो आपको बेनबर्ड के लेख को भी पकड़ना चाहिए।
मुझे यह भी पता है कि मैंने गलती से हटाए जाने के बजाय हटाए गए (एक्स) को हटा दिया है (एक्स .obj) - क्षमा करें।
आप कारण है कि आप में "को मंजूरी दे दी स्मृति" रुचि रखते हैं की व्याख्या करनी चाहिए। क्या यह राम उपयोग को कम करने के लिए है? या सुरक्षा के लिए? या कुछ और कारण? –
रैम उपयोग को कम करने के लिए/सुनिश्चित करें कि जीसी इसे –
हिट करता है मुझे यह प्रश्न पसंद है। दुर्भाग्य से अधिकांश स्मृति प्रबंधित वातावरण के साथ जीसी को यह काम करने देना सबसे अच्छा तरीका है। ओह, और संदर्भों पर पकड़ पकड़ो। –