如果(myVar!=“undefined”)

时间:2018-06-04 01:27:06

标签: javascript

我想检查localWebstorage中的某个项目是否还没有给出值。我试过这样做:

    //Change localStorage.intervalSetting from 'Undefined' to 'Never'
    function initialIntervalSetting() {
        var getValue = localStorage.intervalSetting;
        if (typeof getValue === undefined) {
            localStorage.intervalSetting = "option1";
            alert("Changed the localWebstorage item from undefined to "option1");
        }
        else {
            alert("JavaScript thinks that the item is not undefined");
        }
    }

这不起作用,但是......问题在这里被问到: How to check for "undefined" in JavaScript?有人回答:

        if (typeof getValue != "undefined") {
            localStorage.intervalSetting = "option1";
        }

他们建议用!=
替换=== 由于某种原因,这工作 - 如何??? 不应该(getValue!=“undefined”)返回false,因为!=表示NOT EQUAL ??

2 个答案:

答案 0 :(得分:1)

在您的代码中,您将typeof getValue与文字类型undefined进行了比较。由于typeof实际上为您提供了一个字符串,因此您应该将此值与字符串" undefined"进行比较。

要么

if (getValue !== undefined)

或者

r

会做到这一点。

答案 1 :(得分:0)

我建议使用" truthy"校验。这将检查对象是否为null或未定义。您只需查看getValue

就可以做到这一点
if(getValue) {
    // not undefined
}

另一个SO帖子供参考:Understanding JavaScript Truthy and Falsy