我得到,使用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)。 –