检查未定义的值,但它仍未定义

Checking for undefined value, but it's still undefined

本文关键字:未定义 检查      更新时间:2023-09-26

我有代码,我只想在定义变量并且具有length时运行,所以我使用此条件块:

if (typeof(elem) !== undefined) {
    console.log( 'elem is not undefined' );
    console.log(typeof(elem));
    if (elem.length) {
        // do stuff
    }
}

那么,如何在控制台中获取此输出?

elem 并非未定义主.js:214 未定义main.js:215 未捕获的类型错误:无法读取未定义的属性"长度"

好吧,我在输入问题时找到了答案,我想我会分享它,以防其他人遇到这个简单的问题。

typeof()返回一个字符串。如果变量未定义,则返回typeof()将是字符串"undefined",而不是使用保留字undefined的实际值。

因此,我的代码可以简化:

if ((typeof(elem) != "undefined") && (elem.length)) {
    // do stuff
}

将其分解为两个单独的if语句只是我在搜索之前修复它的第一次尝试。