有沒有辦法檢測對象屬性刪除?JavaScript:檢測對象屬性刪除
0
A
回答
0
你不能覆蓋刪除操作,所以除了定期檢查一個屬性是否還在這裏,我認爲你不能這樣做。
2
是的,這是可能的。就像您可以使用setter/getters來獲取屬性一樣,您可以使用對象屬性的「deleter」函數。
function myFunc() {}
myFunc.prototype = {
constructor: myFunc,
deleteProp: function(prop) {
delete this[ prop ];
}
};
在deleteProp
方法中,你可以做任何事情之前和之後。
1
您可以使用hasOwnProperty或propertyIsEnumerable檢查對象本身是否存在屬性,但本身不會告訴您屬性是否曾經存在並隨後被刪除。您可以測試自己和繼承的屬性是否具有使用值:
if (typeof obj.prop != 'undefined')
但物業是否存在不告訴你,只有whehter已分配以外的值比不確定。請注意,如果該屬性已創建但未分配屬性,它仍將返回未定義。對於大多數目的而言,這就足夠了。
你想用這個做什麼?在ES5中,您可以使用Object.create和Object.defineProperty創建不可刪除的屬性,但某些瀏覽器缺少支持,因此不適用於常規網絡。
相關問題
- 1. Javascript對象屬性檢測
- 2. 檢測Javascript對象屬性的添加
- 3. 從Javascript對象中刪除屬性
- 4. 刪除JavaScript對象屬性,如
- 5. javascript測試對象屬性
- 6. 通過指針檢測對象刪除
- 7. MaxScript:檢測對象何時被刪除
- 8. jQuery:檢測對象屬性更改
- 9. 刪除Realm對象中的屬性
- 10. 使用lodash刪除對象屬性
- 11. 'STR' 對象沒有屬性 '刪除'
- 12. 如何刪除對象屬性?
- 13. 從對象中刪除屬性recursivly
- 14. PHP:從DOMNode對象中刪除屬性
- 15. 更新/刪除貓鼬對象屬性
- 16. 刪除JS對象的屬性
- 17. 刪除對象的空屬性
- 18. 基於屬性刪除對象
- 19. 刪除對象的一個屬性
- 20. 刪除多個對象屬性?
- 21. 如何從對象中刪除屬性?
- 22. 如何從對象中刪除屬性?
- 23. 刪除對象的私有屬性
- 24. JavaScript對象檢測
- 25. JavaScript對象刪除
- 26. 在JavaScript中檢索R對象屬性
- 27. javascript檢查對象屬性開始
- 28. 如何檢查對象屬性在JavaScript
- 29. JavaScript對象/屬性
- 30. javascript對象屬性
做什麼?? ...... – SuperSaiyan
在2000年,遙遠的將來你將能夠使用JavaScript代理對象:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Proxy – biziclop