有没有办法检测对象属性删除?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