在JavaScript中,为什么不返回Object.prototype的内容?
我得到,使用for ... in循环将返回一个对象的所有属性,包括它的原型链,并使用.keys()会给我一个非继承数组(基本上是...) hasOwnProperty),但为什么for ... in循环没有包含从Object引入的东西? 也就是说为什么不包含..在Object中包含toString函数? 谢谢!
对象的属性由其键,值定义,以及它是否可配置,可枚举,可写。 一个非枚举属性不会在循环中显示。
当这样创建一个对象属性时
var myObject = {};
myObject["a"] = 3;
它默认是可配置的,可枚举和可写的。 它将显示在循环中。 可以使用Object.defineProperty
创建不可枚举的属性。 您可以使用.propertyIsEnumerable
检查属性是否可枚举:
myObject.propertyIsEnumerable("a"); // --> true
Object.propertyIsEnumerable("toString"); // --> false
链接地址: http://www.djcxy.com/p/27247.html
上一篇: In JavaScript, Why doesn't for in return the contents of Object.prototype?