1

有没有办法在不通过实例名称显式调用父对象的情况下引用父对象的成员?在下面的示例中,语句this.me引用 的me成员child。我知道我可以做类似的事情var who = obj.me,但我很好奇是否有更隐含的方法来解决这个问题?

var obj = {
    me: 'obj',
    child: {
        me: 'child',
        init: function() {
            var p = document.getElementById('console');
            var who = this.me;
            p.innerHTML = who;
        }
    }
};

obj.child.init();

http://jsfiddle.net/3CQ8f/4/

4

1 回答 1

2

我认为没有内置的方法可以做到这一点,但您可以在对象定义中创建对父级的引用:

var obj = {
    me: 'obj'
};

obj.child = {
    me: 'child',
    parent: obj,
    init: function() {
        var p = document.getElementById('console');
        var who = this.parent.me;
        p.innerHTML = who;
    }
};
于 2012-08-24T18:30:19.137 回答