对象值未定义

时间:2013-01-30 23:56:08

标签: javascript node.js object scope express

我在以后可以调用它们的方式定义值时遇到了问题。

如果我先定义搜索,那么Search.commands [3]是未定义的。 如果我先定义commandList,那么commandList.commands [0]是未定义的。

有没有更好的方法来定义这些对象,以使顺序无关紧要?

var Search = {
    'str': 'search',
    'param': 'search',
    'action': '',
    'commands': [
        Category,
        Location,
        Sort,
        commandList
    ]
}

var commandList = {
'commands': [
    Search,
    Category,
    Stop
]
}

2 个答案:

答案 0 :(得分:4)

var Search = {
    'str': 'search',
    'param': 'search',
    'action': ''
};
var commandList = {
    'commands': [
        Search,
        Category,
        Stop
    ]
};
Search.commands = [
    Category,
    Location,
    Sort,
    commandList
];

答案 1 :(得分:1)

您可以使用以下内容:

var Search = {
    'str': 'search',
    'param': 'search',
    'action': ''
};

var commandList = {
};



Search.commands = [
        Category,
        Location,
        Sort,
        commandList
    ];

commandList.commands = [
    Search,
    Category,
    Stop
];