Javascript - 从子对象调用第一级对象

时间:2011-07-29 20:50:29

标签: javascript jquery object

我从子对象调用超级对象时遇到问题。

如果删除//注释

,则

dn未定义

http://jsfiddle.net/HsZp6/2/

dn =
{
    documentTags:
    {
        elements: html.find('*'),
        description: 'Document tags',

        //amount: dn.documentTags.elements.length + 1,

        // returns dn is undefined
        amountNinja: 400,
        amountTrainee: 1500,
        amountNovice: 3000
    }
};

3 个答案:

答案 0 :(得分:1)

您正在尝试声明一个json对象,其中amount只是另一个属性。在定义对象之前,您尝试使用它,这是不可能的。

试试这个

dn =
{
    documentTags:
    {
        elements: html.find('*'),
        description: 'Document tags',

        //amount: dn.documentTags.elements.length + 1,

        // returns dn is undefined
        amountNinja: 400,
        amountTrainee: 1500,
        amountNovice: 3000
    }
};

dn.amount = dn.documentTags.elements.length + 1;

答案 1 :(得分:1)

请改为尝试:

var elements = html.find('*');
dn =
{
    documentTags:
    {
        elements: elements,
        description: 'Document tags',

        amount: elements.length + 1,

        // returns dn is undefined
        amountNinja: 400,
        amountTrainee: 1500,
        amountNovice: 3000
    }
};

答案 2 :(得分:0)

寻找这个例子

function addChild(ob, childName, childOb)
{
ob[childName] = childOb;
childOb.parent = ob;
}

var life= {
    mameAndDestroy : function(group){ },
    kiss : function(group){ }
};

addChild(life, 'users', {
guys : function(){ this.parent.mameAndDestroy(this.girls); },
girls : function(){ this.parent.kiss(this.boys); },
});