【问题标题】:How to access an object from another file in JavaScript?如何从 JavaScript 中的另一个文件访问对象?
【发布时间】:2022-01-14 16:26:33
【问题描述】:

我希望将游戏的分数存储在本地存储中 topScore 旁边的 usrObj 中。但是,它只将分数存储在用户名旁边。

来自 index.html 的 js 代码

<script>
            loadRankingTable();
            window.onload = ()=> {
            //Check login
            if(sessionStorage.loggedInUser !== undefined){
                window.localStorage.setItem(sessionStorage.loggedInUser, highscore);
                document.getElementById("Greeting").innerHTML = sessionStorage.loggedInUser;
            }
        } 

        </script>

prac.js

function register(){
    let password1 = document.getElementById("PasswordInput").value
    let password2 = document.getElementById("PasswordInputConfirm").value
    let username = document.getElementById("Username").value
    let name = document.getElementById("NameInput").value;
    let password = document.getElementById("PasswordInput").value;                        
    let usrObj = {
        username: username,
        password: password,
        topScore: 0     
    }
    
    if (password1 == password2){
        localStorage[name] = JSON.stringify(usrObj);
        document.getElementById("FeedbackPara").innerHTML= "";
    }   
    else{
        document.getElementById("FeedbackPara").innerHTML= "Passwords don't match.";
    }
}

所以基本上不是本地存储存储这样的数据:“用户,200”,我希望它是这样的:“用户名:用户名,密码:密码,topScore:200”

【问题讨论】:

  • 您在prac.js 中做得正确。在index.js 中以同样的方式进行操作。

标签: javascript object local-storage


【解决方案1】:

以 JSON 格式检索本地存储的当前值,更新分数,然后再次保存。

loadRankingTable();
window.onload = () => {
  //Check login
  if (sessionStorage.loggedInUser !== undefined) {
    let oldData = localStorage.getItem(sessionStorage.loggedInUser);
    if (oldData) {
      oldData = JSON.parse(oldData);
      oldData.topScore = highscore;
      localStorage.setItem(sessionStorage.loggedInUser, JSON.stringify(oldData);
    }
    document.getElementById("Greeting").innerHTML = sessionStorage.loggedInUser;
  }
}

【讨论】:

  • 谢谢!它起作用了,我也理解了逻辑!尊重
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
相关资源
最近更新 更多