<script type="text/javascript">
//给结构对象加一个回调,如果是function对象的实例的话就不用这么繁琐了:D
var o = ({
a : 0,
b : function () {
return (this.b = {
parent : this, name : "wc", age : 20
}).parent;
}
}).b();alert([
"name: " + o.b.name
, "age: " + o.b.age
, "parent === o: " + (o === o.b.parent)
].join("\n"));
</script>

解决方案 »

  1.   


    没办法...
    Object 只提供装取数据如果要借助func 之类的话, 你不如写一个伪类好了....
      

  2.   

    套那么多层function,看得有点晕。
      

  3.   

    :D,不用伪类,建立个闭包就可以了。。因为这个结构对象,在建立的时候得不到this对象。不向new Function的那种。。
    所以。。只能在执行完后,通过重写方法建立闭包来实现,修改方法
      

  4.   

    如果能通过o.b.parent来调用,那还不如直接o.a了,,,问题是o的不确定性...