如何定义未定义的变量?

时间:2018-04-30 09:16:36

标签: javascript

我有以下代码:

if (!config.callers[uID].calls) {
    console.log(config.callers[uID].calls);
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
}

我有一个名为config的JSON文件,其属性callers是用户ID的集合,每个属性都有一个属性callssaveConfig()是保存配置文件的函数。

正如您所看到的,我正在检查calls属性是否未定义,如果为true,则将其定义为0.我也尝试将其定义为不同的东西,但它似乎不起作用。它只是undefined

1 个答案:

答案 0 :(得分:3)

尝试

if(!config.callers.hasOwnProperty("uID")) {
    console.log(config.callers);
    config.callers[uID] = {};
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
} else if(!config.callers[uID].hasOwnProperty("calls")) {
    console.log(config.callers[uID]);
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
}