为什么我得到一个未定义的变量?将变量与未定义进行比较时出错

Why am I getting a "variable undefined" error when comparing a variable to undefined?

本文关键字:变量 未定义 出错 比较 为什么 一个      更新时间:2023-09-26

我看了这个问题:

如何判断变量是否为'undefined'或& # 39;零# 39;?

但它没有帮助。

我有以下代码:

    if (_modeID != 8 && _modeID != 9)
        // do something

_modeID是在一个单独的文件中定义和赋值的。

我遇到了一个错误,由于某种原因,var _modeID = someIntVal;从未执行过,所以当上面的if语句运行时,根本没有_modeID

我将其扩展为if (_modeID === null || _modeID === undefined || (_modeID != 8 && _modeID != 9),但这仍然抛出以下错误:

Java Script Error: '_modeID' is undefined

我希望在这种情况下,第一个或第二个条件将评估为真,但显然不是。有人能告诉我我哪里做错了吗?

var _modeID = undefined; if (_modeID === undefined) ...不一样简单的if (_modeID === undefined) ...假设这两个片段是"完整"的文件?

我通常看到人们检查变量的类型而不是变量本身,即

if( typeof _modeID === 'undefined' ) {
  ...
}