Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在制作一个点击游戏,localstorage返回时没有任何内容,而是保存了数据_Javascript - Fatal编程技术网

Javascript 我正在制作一个点击游戏,localstorage返回时没有任何内容,而是保存了数据

Javascript 我正在制作一个点击游戏,localstorage返回时没有任何内容,而是保存了数据,javascript,Javascript,因此,我正在构建一个clicker游戏,在编写保存/加载函数时遇到了一个问题。似乎我的保存功能可能无法让我工作,但我不确定原因。以下是功能: function savegame(){ localStorage.clicks = Number(document.getElementById('clicks').innerHTML); localStorage.cps = document.getElementById('cps').innerHTML;

因此,我正在构建一个clicker游戏,在编写保存/加载函数时遇到了一个问题。似乎我的保存功能可能无法让我工作,但我不确定原因。
以下是功能:

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来做一些事情时,为什么不像他们在文档中说的那样使用它呢?使用代码后,我仍然会得到与以前相同的错误。使用代码后,我仍然会得到与以前相同的错误。