我需要刪除Object的屬性。鑑於"id"
,我必須刪除value[id]
。我試試這個代碼:如何在沒有「刪除」操作的情況下刪除Object的屬性
delete value[id];
但delete運算符刪除只是一個參考,從來沒有一個對象itself.Anyone可以建議我的任何方法將其永久刪除一個對象的財產?
我需要刪除Object的屬性。鑑於"id"
,我必須刪除value[id]
。我試試這個代碼:如何在沒有「刪除」操作的情況下刪除Object的屬性
delete value[id];
但delete運算符刪除只是一個參考,從來沒有一個對象itself.Anyone可以建議我的任何方法將其永久刪除一個對象的財產?
JavaScript不允許你做這樣的事情,它是垃圾收集,這意味着你沒有直接控制內存中發生的事情。您只能刪除參考。如果你希望它永遠消失,請確保在其它地方使用它。
經過鏈接,它解釋了它正常..
從鏈接要點如下補充..
不像什麼共同的信念表明,delete運算符無關直接釋放內存(它只是間接地通過中斷引用來完成)。有關更多詳細信息,請參閱內存管理頁面。
如果刪除操作符成功,它將完全從對象中刪除屬性。但是,如果在對象的原型鏈上存在具有相同名稱的屬性,則該對象將從原型繼承該屬性。
刪除僅對對象的屬性有效。它對變量或函數名稱沒有影響。 雖然有時候被誤認爲全局變量,但沒有指定對象的賦值(例如x = 5)實際上是全局對象上的屬性賦值。
刪除無法刪除預定義對象的某些屬性(如對象,數組,數學等)。這些在ECMAScript 5及更高版本中被描述爲不可配置的。
你可以嘗試設置值[id]爲空。這應該刪除你的財產 –
如果'value [id]'不是對象,字符串,'delete'會刪除它。 –
可能重複[是否可以刪除對象本身,而不是引用](http://stackoverflow.com/questions/5097450/is-it-possible-to-delete-the-object-itself-not-the -參考) –