【发布时间】:2010-09-28 00:13:24
【问题描述】:
假设我有以下代码:
function One() {}
One.prototype.x = undefined;
function Two() {}
var o = new One();
var t = new Two();
o.x 和 t.x 都将评估为 undefined。 o.hasOwnProperty('x') 和 t.hasOwnProperty('x') 都将返回 false; propertyIsEnumerable 也是如此。两个问题:
- 有什么方法可以判断 o.x 已定义并设置为
undefined? - 有任何理由吗? (两者在语义上应该是等价的吗?)
一个小警告:执行 (for propName in o) 循环将产生 'x' 作为字符串之一,而在 t 中执行不会 - 因此它们在内部的表示方式存在差异(至少在铬)。
【问题讨论】:
标签: javascript object properties undefined