Firefox 和 Chrome 在通过密钥访问本地存储时返回不同的值。
alert(localStorage.mykey); // FF = null, Chrome = undefined
alert(localStorage.getItem('mykey')); // FF = null, Chrome = null
请参阅 Firefox 错误localStorage/sessionStorage 应该为未定义的键返回未定义(非空)。
从本质上讲,Chrome 和其他浏览器localStorage.mykey
像 Firefox 对待它的任何其他数组对象一样对待它getItem()
。
所以,我的问题是:鉴于这种差异,检查 localStorage 中是否存在密钥的最佳方法是什么?
选项1:if(localStorage.getItem('key') === null)
选项 2:if(localStorage.key === null || localStorage.key === undefined)
||
选项 3:没有#2的任何方法来检查 localStorage.key ?