在某些时候,您确实破坏了该密钥的LocalStorage值。LocalStorage只能存储字符串,因此,如果将其他任何内容传递给它,它将把它转换为字符串。由于您的值为
'undefined',这意味着在某个时候,您可能偶然地做了这样的事情:
var value;localStorage.setItem('key', value);在这种情况下,
valueis
undefined,不是字符串。保存后,将对其进行转换。不幸的是,
"undefined"不是有效的JSON。这意味着,当它尝试解析时,它将引发异常。
要解决您的问题,您应该使用清除不良价值
removeItem。
localStorage.removeItem("customerDatabase");


