Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 使用HTML5保存对象_Javascript_Save_Storage_Loading - Fatal编程技术网

Javascript 使用HTML5保存对象

Javascript 使用HTML5保存对象,javascript,save,storage,loading,Javascript,Save,Storage,Loading,我很难让这个本地存储正常工作。这是一个使用javascript的小游戏。这是我尝试使用的保存和加载功能。 有更好的方法吗? 要调用保存和加载功能,我使用按钮 编辑:我已编辑以包含完整代码 var雪球=0.0; 功能用户点击(编号){ 雪球=雪球+数量; document.getElementById(“雪球”).innerHTML=prettify(雪球); } 功能snowballClick(数字){ 雪球=雪球+(数字*0.1); document.getElementById(“雪球”)

我很难让这个本地存储正常工作。这是一个使用javascript的小游戏。这是我尝试使用的保存和加载功能。 有更好的方法吗? 要调用保存和加载功能,我使用按钮


编辑:我已编辑以包含完整代码

var雪球=0.0;
功能用户点击(编号){
雪球=雪球+数量;
document.getElementById(“雪球”).innerHTML=prettify(雪球);
}
功能snowballClick(数字){
雪球=雪球+(数字*0.1);
document.getElementById(“雪球”).innerHTML=prettify(雪球);
};
var企鹅=0.0;
var冰屋=0;
函数buyPenguin(){
var penguinCost=Math.floor(10*Math.pow(1.1,penguins));//计算出这个游标的成本
如果(雪球>=企鹅成本){//检查玩家是否能负担得起光标
企鹅=企鹅+1;//增加光标的数量
snowballs=snowballs-penguinCost;//删除花费的cookies
document.getElementById('penguins')。innerHTML=penguins;//更新用户的游标数
document.getElementById('snowballs')。innerHTML=snowballs;//更新用户的cookie数量
};
var nextCost=Math.floor(10*Math.pow(1.1,企鹅));//计算下一个游标的成本
document.getElementById('PenguingCost')。innerHTML=nextCost;//更新用户的游标成本
};
函数save(){
变量保存={
雪球:雪球,
企鹅:企鹅,
冰屋:冰屋,
声望:声望
}
setItem(“save”,JSON.stringify(save));
};
函数加载(){
var savegame=JSON.parse(localStorage.getItem(“save”);
如果(savegame.snowballs的类型!=“未定义”)snowballs=savegame.snowballs;
如果(savegame.penguins!=“未定义”)penguins=savegame.penguins;
如果(savegame.igloos的类型!=“未定义”)igloos=savegame.igloos;
document.getElementById('penguins')。innerHTML=penguins;
document.getElementById('snowballs')。innerHTML=snowballs;
document.getElementById('igloos')。innerHTML=igloos;
};
函数美化(输入){
var输出=数学四舍五入(输入*1000000)/1000000;
返回输出;
}
功能小屋(){
var iglooCost=Math.floor(10*Math.pow(3,igloos));//计算出这个游标的成本
如果(雪球>=iglooCost){//检查玩家是否能负担得起光标
冰屋=冰屋+1;//增加光标的数量
snowballs=snowballs-iglooCost;//删除花费的cookies
document.getElementById('penguins')。innerHTML=penguins;//更新用户的游标数
document.getElementById('snowballs')。innerHTML=snowballs;//更新用户的cookie数量
document.getElementById('igloos')。innerHTML=igloos;
};
var nextIglooCost=Math.floor(10*Math.pow(3,冰屋));//计算出下一个游标的成本
document.getElementById('iglooCost')。innerHTML=nextIglooCost;//更新用户的游标成本
};
函数devGive(){
雪球=雪球+100
document.getElementById(“雪球”).innerHTML=prettify(雪球);
}
setInterval(函数(){
雪球(企鹅);
用户点击(冰屋)
}, 1000);

点击我!

雪球:0
买企鹅
企鹅:0
企鹅成本:10
拯救
负载
买冰屋
冰屋:0
冰屋费用:10 戴夫给100
我认为问题在于您没有定义prestige变量

var penguins = 0.0;
var igloos = 0;
var snowballs = 0.0;
var prestige = 'prestige'

function save(){
    var save = {
        snowballs: snowballs,
        penguins: penguins,
        igloos: igloos,
        prestige: prestige
    }
    localStorage.setItem("save",JSON.stringify(save));
};

请查看此链接,它将起作用:

您的代码是否正常工作?对象已成功保存和加载?您好,是的,除了保存和加载功能外,所有功能都正常工作。当我尝试调用save或load函数时,什么都没有发生。。。我不确定是什么问题,我已经按照上的说明进行了操作。谢谢你的建议。有什么错误吗?从你的代码中,我想说保存/加载应该可以工作。我打开了控制台,没有收到任何错误?这是我正在使用的按钮可能是问题所在?救命
加载
如果有助于确定问题的话,我已经编辑了完整的代码,非常感谢。好的,谢谢,我还在学习,所以我很感谢您的帮助:P我已经将您的html代码复制到我的html页面和js中,现在刷新时它似乎会自动加载,但值立即变为“nan”?有什么想法吗?我已经更新了我的anaswer,检查了它,并且再次检查了JSFIDLE链接。如果这解决了你的问题,一定要将它标记为答案。哦,上帝刚刚删除了prestige位,它与原始代码一起工作。。。愚蠢的我,我本来打算在下一步添加它,但当它不起作用时,我花了最后的人力资源调试,并试图使它保存。。。哈哈,谢谢!!或者你可以声明prestige变量,它也可以工作。不管怎样,我很高兴我帮了忙。