为什么 {highscorelist} 没有价值?

问题描述

const HIGHscoreKEY = "highscore";

highscorelist = localStorage.getItem(HIGHscoreKEY);
if(highscorelist){
    highscorelist = {
        one: {navn: "AAA",score: 0},two: {navn: "AAA",three: {navn: "AAA",score: 0}
    };
    localStorage.setItem(HIGHscoreKEY,JSON.stringify(highscorelist));
};

这是它的代码,当我尝试执行“highscorelist.one.score”时,它说:“Uncaught TypeError: Cannot read property 'one' of null”

解决方法

localStorage.setItem(HIGHSCOREKEY,JSON.stringify(highscorelist)); 等价于 localStorage.setItem(HIGHSCOREKEY,highscorelist);,因为 localStorage 将以字符串的形式存储。

所以在检索数据时做

highscorelist = JSON.parse(localStorage.getItem(HIGHSCOREKEY));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...