检查未定义的值不起作用?

Van*_*nel 2 javascript null undefined

我有以下javascript代码:

var currentIds = localStorage.getItem('currentPairsIds');

if ((typeof currentIds === "undefined") ||
    (currentIds == null))
        $.myNameSpace.currentIDs = new Array(3);
    else
        $.myNameSpace.currentIDs = currentIds.Split(',');
Run Code Online (Sandbox Code Playgroud)

我正在使用Firebug进行调试,虽然currentIds没有任何值,但它始终执行else语句.

更新:

我从HTML5存储中获取此值.

我究竟做错了什么?

Van*_*nel 8

这就是我解决问题的方法:

var currentIds = localStorage.getItem('currentPairsIds');

if ((currentIds === undefined) ||
    (currentIds == null) || (currentIds == "undefined"))
        $.myNameSpace.currentIDs = new Array(3);
    else
        $.myNameSpace.currentIDs = currentIds.split(',');
Run Code Online (Sandbox Code Playgroud)

localStorage.getItem('currentPairsIds');返回字符串"undefined".

功能还有另一个错误Split().正确的版本没有任何大写字母.

  • @DaveA那是因为您保存了未定义的内容,本地存储将其转换为字符串"undefined".将内容保存到localStorage时,应注意不要将其设置为undefined或null.我总是把它设置为空字符串 (6认同)
  • 这是错误的,`localStorage.getItem()`不返回字符串"undefined",它返回`null`,你只需要`null`检查,而不是你盲目测试的其他东西. (3认同)
  • @JuanMendes,我有一个未定义的,这个语法适用于我的问题.事实上,奇怪的是`=="undefined"`引起了我的问题! (2认同)