我得到,使用for ... in循環將返回一個對象的所有屬性,包括它的原型鏈,並使用.keys()會給我一個非繼承數組(基本上爲... in與hasOwnProperty結合),但爲什麼不在for循環中包含從Object引入的東西?也就是說爲什麼不包含..在Object中包含toString函數?謝謝!在JavaScript中,爲什麼不返回Object.prototype的內容?
-1
A
回答
2
對象的屬性由其鍵,值定義,也可以是可配置的,可枚舉的,可寫的。一個非枚舉屬性不會在循環中顯示。
當這樣
var myObject = {};
myObject["a"] = 3;
創建一個對象的屬性,是默認配置,枚舉和可寫的。它將顯示在循環中。可以使用Object.defineProperty
創建不可枚舉的屬性。您可以檢查一個屬性可以枚舉與.propertyIsEnumerable
:
myObject.propertyIsEnumerable("a"); // --> true
Object.propertyIsEnumerable("toString"); // --> false
+0
這使得完美的感覺。我沒有意識到Object的屬性被定義爲不可枚舉。謝謝! – CADBOT
相關問題
- 1. 爲什麼Object.prototype和Object.getOwnPropertyNames(Object.prototype)返回不同的東西?
- 2. 爲什麼htmlElement只在javascript函數中返回時返回元素的內容?
- 3. 爲什麼fs.readFileSync不會在承諾內返回任何內容?
- 4. 爲什麼Lucene.NET 3.0.3中的BooleanQuery不返回任何內容?
- 5. Object.prototype中在JavaScript
- 6. 什麼是「document.writeln(Object.prototype);」在JavaScript打印?
- 7. 爲什麼reduceRight在Javascript中返回NaN?
- 8. 爲什麼在JavaScript中返回-1
- 9. 爲什麼{} + []在Javascript中返回0?
- 10. NullReferenceException不受管理。 「表」不返回任何內容。爲什麼?
- 11. 爲什麼我的mongodb查詢不返回任何內容?
- 12. 爲什麼我的XPath不返回任何內容?
- 13. 爲什麼lucene查詢不會返回任何內容?
- 14. 這不會返回任何內容。爲什麼?
- 15. 爲什麼「return Nothing」不返回任何內容?
- 16. 爲什麼Entity Framewok方法「.AsEnumerable()」不返回任何內容?
- 17. 爲什麼「graph.facebook.com/:page_id/insights」不能返回任何內容?
- 18. 爲什麼匹配[2]在重寫規則中不返回任何內容
- 19. Python:爲什麼我的函數不顯示解釋器中返回的內容?
- 20. 爲什麼在JavaScript中返回false將不會取消PostBack?
- 21. 爲什麼style.left不在Javascript中返回值?
- 22. 爲什麼不phantomjs返回
- 23. ASP.NET/JavaScript - 爲什麼不「返回錯誤」不能防止回傳?
- 24. 當MySQL不返回任何內容時,$的結果是什麼?
- 25. 爲什麼HMAC sha256在PHP和Javascript上返回不同的值
- 26. 爲什麼這個函數在Lua中一起添加一個表的內容什麼都不返回
- 27. 爲什麼內容不在百分比
- 28. Javascript - 爲什麼NaN(1 + null)返回false?
- 29. javascript遊戲:爲什麼返回init:init?
- 30. 爲什麼要返回!! var JavaScript?
的了... in語句遍歷的**枚舉的屬性**的對象,以任意順序 - HTTPS://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Statements/for ... in – elclanrs
'for..in'循環只遍歷[定義爲'enumerable']的屬性(https://developer.mozilla .ORG/EN-US /文檔/網絡/的JavaScript /參考/ Global_Objects /對象/ defineProperty)。您可以使用['Object.getOwnPropertyDescriptor(Object.prototype,'toString').enumerable']檢查該設置(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor)。 –