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