Javascript 我正在制作一个点击游戏,localstorage返回时没有任何内容,而是保存了数据
因此,我正在构建一个clicker游戏,在编写保存/加载函数时遇到了一个问题。似乎我的保存功能可能无法让我工作,但我不确定原因。Javascript 我正在制作一个点击游戏,localstorage返回时没有任何内容,而是保存了数据,javascript,Javascript,因此,我正在构建一个clicker游戏,在编写保存/加载函数时遇到了一个问题。似乎我的保存功能可能无法让我工作,但我不确定原因。以下是功能: function savegame(){ localStorage.clicks = Number(document.getElementById('clicks').innerHTML); localStorage.cps = document.getElementById('cps').innerHTML;
以下是功能:
function savegame(){
localStorage.clicks = Number(document.getElementById('clicks').innerHTML);
localStorage.cps = document.getElementById('cps').innerHTML;
localStorage.clickPower =
Number(document.getElementById('clickpower').innerHTML);
localStorage.onecpow = Number(document.getElementById('1clickpowe').innerHTML);
localStorage.onecps = Number(document.getElementById('1cps').innerHTML);
localStorage.fivecps = Number(document.getElementById('5cps').innerHTML);
localStorage.fivecpow = Number(document.getElementById('5clickpower').innerHTML);
localStorage.tencps = document.getElementById('10cps').innerHTML;}
function loadgame(){document.getElementById('1clickpower').innerHTML = localStorage.getItem("onecpow");
document.getElementById('clicks').innerHTML = localStorage.getItem("clicks");
document.getElementById('cps').innerHTML = localStorage.getItem('cps');
document.getElementById('clickpower').innerHTML = localStorage.getItem('clickpower');
document.getElementById('5clickpower').innerHTML = localStorage.getItem('fivecpow');
document.getElementById('5cps').innerHTML = localStorage.getItem('fivecps');
document.getElementById('1cps').innerHTML = localStorage.getItem('onecps');
document.getElementById('10cps').innerHTML = localStorage.getItem('tencps');}
我忘了澄清我期望代码做什么。这应该做的是保存玩家的进度和升级,而不是在加载保存的数据时,玩家的数据不会加载,并返回许多应该加载保存数据的空格。而不是执行
localStorage.onecpow=“someValue”
try
storage.setItem(onecpow, "someValue");
您可以在此处查看文档以了解更多信息,而不是执行
localStorage.onecpow=“someValue”
尝试
storage.setItem(onecpow, "someValue");
您可以查看此处的文档以了解更多信息您错误地使用了“localStorage”。看看这个:
// writing to localStorage
localStorage.setItem('myId', value);
// reading from localStorage
var whatever = localStorage.getItem('myId');
// remove an item from localStorage
localStorage.removeItem('myId');
编辑:
问题是你混淆了两种不同的方法。你必须决定使用哪一个。对象驱动或关键点驱动
我上面的例子是键驱动方法。您还应该能够像这样使用对象驱动方法:
// writing to localStorage
localStorage.myObject = value;
// reading from localStorage
var whatever = localStorage.myObject;
选择你的风格,但不要混搭;o) 您使用的“本地存储”错误。看看这个:
// writing to localStorage
localStorage.setItem('myId', value);
// reading from localStorage
var whatever = localStorage.getItem('myId');
// remove an item from localStorage
localStorage.removeItem('myId');
编辑:
问题是你混淆了两种不同的方法。你必须决定使用哪一个。对象驱动或关键点驱动
我上面的例子是键驱动方法。您还应该能够像这样使用对象驱动方法:
// writing to localStorage
localStorage.myObject = value;
// reading from localStorage
var whatever = localStorage.myObject;
选择你的风格,但不要混搭;o) 我找到了一个解决方案,尽管它的工作原理有点奇怪
我在
localStorage
属性中添加了大写字母,并使用了localStorage.setItem
和localStorage.getItem
。我不知道它为什么会起作用,但它确实起作用了。我找到了一个解决方案,尽管它的工作原理有点奇怪
我在
localStorage
属性中添加了大写字母,并使用了localStorage.setItem
和localStorage.getItem
。我不知道它为什么会工作,但它确实工作。你的游戏对我来说似乎工作得很好。你的游戏对我来说似乎工作得很好。但是localStorage['variable']=value
也应该这样做,没有理由工作不一样。可以说,最好的理由是不要更改localStorage
的定义。如果您执行localStorage['variable']='something'
,您将向其添加一个新属性,而这不是您想要做的。为了在其中保存一些东西,我知道有一个API就是为它提供的,但我的意思是它不应该导致错误,不是吗?我一直在以两种方式使用localStorage,当然从来没有遇到过问题。您编写它的方式也是正确的,并且不会导致任何错误。我认为这更像是一种偏好风格。我说,当他们提供一个官方API来做一些事情时,为什么不像他们在文档中所说的那样使用它呢?但是localStorage['variable']=value
应该做同样的事情,没有理由做不同的工作。一个很好的理由是不更改localStorage
的定义。如果您执行localStorage['variable']='something'
,您将向其添加一个新属性,而这不是您想要做的。为了在其中保存一些东西,我知道有一个API就是为它提供的,但我的意思是它不应该导致错误,不是吗?我一直在以两种方式使用localStorage,当然从来没有遇到过问题。您编写它的方式也是正确的,并且不会导致任何错误。我认为这更像是一种偏好风格。我说,当他们提供一个官方API来做一些事情时,为什么不像他们在文档中说的那样使用它呢?使用代码后,我仍然会得到与以前相同的错误。使用代码后,我仍然会得到与以前相同的错误。