javascript未定义检查不起作用

javascript未定义检查不起作用,javascript,undefined,Javascript,Undefined,在javascript中,我试图检查数组中是否定义了一个键,它是否没有创建该键,并为其赋值0 下面的代码是一个大型脚本的一部分,它在一些循环中更改project、country和month的值 console.log(typeof total_searches[project][country][month]); if(typeof total_searches[project][country][month] !== "number"); total_searches[project]

在javascript中,我试图检查数组中是否定义了一个键,它是否没有创建该键,并为其赋值0

下面的代码是一个大型脚本的一部分,它在一些循环中更改project、country和month的值

console.log(typeof total_searches[project][country][month]);
if(typeof total_searches[project][country][month] !== "number");
    total_searches[project][country][month] = 0;
但出于某种原因,当它第二次遍历此“if”时,所有键都已定义,然后它将计算为TRUE并为其指定0

当使用chrome进行调试时,console.log显示数字

我也试过了 如果搜索总数月份[项目][国家]

但它的评估结果仍然是正确的,并且是正确的

我做错了什么


谢谢也会进行类型匹配。试试看

在if后面有一个讨厌的分号


if语句后面有一个分号,它被视为true语句。所以下一行总是被执行,因为它被视为“只是”另一行代码。

所以在log中,它是一个数字,而在if子句中它不是?
if(typeof total_searches[project][country][month] !== "number"); // <-- here