为什么在JavaScript的for-in循环中不显示toString和hasOwnProperty(etc)?
|
我与另一位开发人员谈论过hasOwnProperty,以及您应该如何在javascript中的for-in循环中使用它,他有一个很好的问题。在进行for-in循环时,为什么toString,hasOwnProperty和其他内置方法不会出现在循环中?
没有找到相关结果
已邀请:
5 个回复
膝垫富顷
,则将跳过该属性。 您实际上可以使用
函数来操纵这些属性: 此方法允许精确添加或修改对象上的属性。通过分配添加常规属性会创建在属性枚举(for ... in循环)中显示的属性,其值可能会更改,并且可能会删除。此方法允许将这些额外的详细信息从其默认值更改。
绵扇寸访
队辅坟阮阶
,但是在明确声明的地方我找不到任何东西。 更新:显然,规范中定义的属性的默认设置是不可枚举的(如果未另行指定)(请参见下面链接中的表7)。 您可以在规范中找到有关这些属性的更多信息:属性属性: 如果为
,则该属性将通过for-in枚举进行枚举(请参见12.6.4)。否则,该属性被称为不可枚举。
吠强祷豪硅
和
不可枚举。在ECMAScript 3中,每个用户定义的方法或属性都是可枚举的。在ECMAScript 5中,您可以选择方法或属性是否可枚举。
程琶