js中new一個對象發(fā)生了什么 jsjson對象可以new嗎?
jsjson對象可以new嗎?JavaScript規(guī)范(ecma-262 ECMAScript)沒有指定JavaScript引擎如何管理JavaScript對象的內(nèi)存。實際上,幾乎所有JavaScri
jsjson對象可以new嗎?
JavaScript規(guī)范(ecma-262 ECMAScript)沒有指定JavaScript引擎如何管理JavaScript對象的內(nèi)存。實際上,幾乎所有JavaScript引擎都使用基于跟蹤的GC來實現(xiàn)自動內(nèi)存管理。在編寫JavaScript程序時,只要對象是新的,JavaScript引擎就會分析對象圖的可達性來確定對象的生存狀態(tài),然后釋放沒有活動引用的對象。因此,為了給JavaScript引擎一個釋放對象的機會,有必要確保在整個程序中沒有對該對象的實時引用。有人在前面提到了delete操作符。它可以用來刪除變量或?qū)傩?,但不直接涉及刪除/釋放對象。如果在對對象的實時引用中存在其他對象的全局變量或?qū)傩裕敲磩h除這些變量或?qū)傩宰匀挥兄跍p少實時引用的數(shù)量。當(dāng)完全沒有對對象的實時引用時,可以在下一次GC中釋放它。