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. 属性缺失(葡萄API)
- 2. Fancybox 2.1.4 alt属性缺失
- 3. XSD.EXE缺失嵌套属性
- 4. 打字稿错误:属性“...”缺失型“...”
- 5. Maven finalName属性缺失神器扩展
- 6. 仙人掌属性缺失[cactus.contextURL]
- 7. JPA元模型代缺失属性
- 8. Python - OpenCV模块缺失属性CV_CALIB_FIX_INTRINSIC
- 9. ServiceStack的Javascript JsonServiceClient缺少的属性
- 10. PCL:缺少属性
- 11. Sonar失败,API缺乏兼容性,无法使用缺省代码属性
- 12. 缺少XML属性 - 属性“版本”
- 13. c# - > JavaScript,JSON解码丢失属性
- 14. Javascript错误消息缺失
- 15. Javascript类缺失;语句前
- 16. JavaScript变量缺失值
- 17. 线性插值缺失值
- 18. 缺少:属性ID后
- 19. 我的RichTextBox缺少属性?
- 20. ServiceStack.DataAnnotations缺少属性定义?
- 21. MongoDB。缺少在属性名
- 22. 缺少的属性:selectBooleanCheckbox
- 23. XSD中缺少minOccurs属性
- 24. Aspose升级 - 缺少属性
- 25. 通用属性的缺点?
- 26. 通用属性缺少VS2015
- 27. Petapoco缺少属性IgnoreOnInsert,IgnoreOnUpdate
- 28. 字典(字符串,字符串)项目属性C#中缺失
- 29. Swagger 2.0:“意外缺失名称响应属性”
- 30. Visual Studio 2008项目属性构建配置缺失选项
感谢您的链接,这是什么,我完全低估:)存在 – sitifensys 2011-05-20 14:17:54