如何从嵌套对象文字访问外部成员?
在以下代码中,是否可以从嵌套对象文字中访问x成员?
var outer = {
x : 0,
inner: {
a : x + 1, // 'x' is undefined.
b : outer.x + 1, // 'outer' is undefined.
c : this.x + 1 // This doesn't produce an error,
} // but outer.inner.c is NaN.
}
没有找到相关结果
已邀请:
4 个回复
完趣镐
款去芳尾脊
内时,
实际上并不存在。 如果你将
的属性更改为函数,你可以在运行时访问
,但这将是非常难看的代码。 考虑使用
代替并以这种方式构建一个对象,然后你可以在
里面使用
,但那时它是一个完全不同的构造,看起来像
壬驴拿歪竞
在那种情况下,你如何区分这两个父母? 这样做的方法可能是更多的构造函数类型函数,其中一个参数可以根据需要分配给outer.x和inner.whatever。
慷祈霖黑
有关闭包的精彩文章,请查看javascript花园 http://bonsaiden.github.com/JavaScript-Garden/#closures