在下面的代码中,可以从嵌套对象文字中访问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. }
解决方法
在你说的方式 – 没有.
你需要两个阶段的构造,这将工作:
var outer = { x : 0 }; // outer is constructed at this point. outer.inner = { b : outer.x + 1 // 'outer' is defined here. };