4
A
回答
5
第二个版本将属性设置为现有值undefined
,而第一个版本将第一个键从对象中移除。迭代该对象或使用关键字in
时可以看到差异。
var obj = {prop: 1};
'prop' in obj; // true
obj.prop = undefined;
'prop' in obj; // true, it's there with the value of undefined
delete obj.prop;
'prop' in obj; // false
3
的差异会实现迭代对象时。当删除属性时,它不会被包含在循环中,而只是将值更改为undefined将包含它。对象的长度或迭代次数将会不同。
这里是在JavaScript中删除一些伟大的(尽管是先进的)信息:
2
使用delete
实际上将删除该对象的密钥本身。如果将值设置为undefined
,则它们的键仍然存在,但该值是唯一已更改的值。
2
前者将实际删除属性,后者将离开它,但它设置为undefined
。
这将成为显著如果你遍历所有属性(for (props in obj) { }
)或测试的一个(if ('someProperty' in obj) {}
)
相关问题
- 1. ToolStripButton.Left属性缺失
- 2. Eclipse缺失属性
- 3. Python缺失属性/属性无效
- 4. XSD.EXE缺失嵌套属性
- 5. Fancybox 2.1.4 alt属性缺失
- 6. 属性缺失(葡萄API)
- 7. GPPSignIn生日属性缺失
- 8. Jquery.validate缺失:属性ID后
- 9. Couchbase Lite Doc缺失属性
- 10. Javascript的“Object.getOwnPropertyNames”缺少属性?
- 11. 试图将缺失的img属性添加到自定义javascript
- 12. 打字稿错误:属性“...”缺失型“...”
- 13. 测试XSL的缺失属性
- 14. 缺失旋转动画属性
- 15. 属性connectionstringName缺失或为空
- 16. XMPP asmack问题缺失属性
- 17. JPA元模型代缺失属性
- 18. Python - OpenCV模块缺失属性CV_CALIB_FIX_INTRINSIC
- 19. Maven finalName属性缺失神器扩展
- 20. 仙人掌属性缺失[cactus.contextURL]
- 21. ActiveAdmin编辑输入缺失属性
- 22. 为什么class的属性缺失?
- 23. ServiceStack的Javascript JsonServiceClient缺少的属性
- 24. 缺少属性
- 25. PCL:缺少属性
- 26. Sonar失败,API缺乏兼容性,无法使用缺省代码属性
- 27. 缺少XML属性 - 属性“版本”
- 28. Jboss(缺失)家属:[service jboss.naming.remote]
- 29. c# - > JavaScript,JSON解码丢失属性
- 30. QtScript Javascript对象丢失属性
感谢您的链接,这是什么,我完全低估:)存在 – sitifensys 2011-05-20 14:17:54