JavaScript中的localStorage无法存储带有箭头函数的对象 您所在的位置:网站首页 c里面的箭头 JavaScript中的localStorage无法存储带有箭头函数的对象

JavaScript中的localStorage无法存储带有箭头函数的对象

#JavaScript中的localStorage无法存储带有箭头函数的对象| 来源: 网络整理| 查看: 265

参见英文答案 > Is it valid to define functions in JSON results?                                    11个我正在使用Javascript创建一个基于Web的小型RPG,不幸的是,一旦实现我的保存和加载功能,我的代码的关键部分就完全失败了.

截至目前,我将所有玩家数据保存在我的播放器对象中:

var player = { stats: { level: 1, healthBase: 50, health: 50, strength: null, strengthBase: 7, strengthMods: { }, },};

使用这两个功能:

function save() { localStorage.setItem("playerData", JSON.stringify(player));}function load() { player = JSON.parse(localStorage.getItem('playerData'));}

这对一切都很有效,除了一小部分.在某些情况下,我需要在我的统计数据中添加修饰符来改变它们,我这样做

player.stats.strengthMods.mods = () => ( 5 );

但是,如果我保存然后加载我的游戏,请致电

player.stats.strengthMods.mods

控制台只显示一个空对象.我无法理解为什么我的浏览器拒绝加载箭头功能,其他一切都完全加载.

知道为什么吗?

解决方法:

JSON没有任何方法来存储函数定义;它是一种数据序列化格式,而不是任意对象序列化格式.由于您必须JSONify将值放在localStorage中,因此无法保留函数. localStorage不是这里的直接问题;即使你从未使用它,该功能也无法在往返JSON和返回时幸存.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有