我想检查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 ??
答案 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