我从子对象调用超级对象时遇到问题。
如果删除//注释,则dn未定义
dn =
{
documentTags:
{
elements: html.find('*'),
description: 'Document tags',
//amount: dn.documentTags.elements.length + 1,
// returns dn is undefined
amountNinja: 400,
amountTrainee: 1500,
amountNovice: 3000
}
};
答案 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); },
});