gpt4 book ai didi

javascript - 如何将 localStorage 项设置为函数?

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:39 25 4
gpt4 key购买 nike

我想将一个 localStorage 项目设置为一个函数,但是当我这样做时它被保存为一个字符串。

localStorage.getData = function (key="def") {
let data = null;

if (this[key] && !_this.isDataAvailableInList(this[key])) {
data = this[key].data;
}

return data;
};

上面的函数被存储为字符串而不是函数。

注意:请不要提供替代方案或其他建议,我很清楚替代方案并且很想知道它是如何工作的。我没有提供完整的上下文,所以假设我需要将 localStorage 项设置为函数

最佳答案

不幸的是,本地存储仅与字符串有关。甚至数组或其他数据也始终会转换为字符串。

对于大多数没有循环的死数据,您当然可以使用 JSON.stringifyJSON.parse,但在其他情况下或对于 JSON 不支持的代码或其他 Javascript 实体(如 Infinityundefined)您需要自己序列化和反序列化。

Javascript 提供了eval,所以你可以存储函数f 先用f+"" 把它转换成字符串,然后取回函数使用 eval(s)。然而,这不适用于闭包,而且在 Javascript 中您甚至不知道函数是否确实是闭包(因此,如果尝试对闭包进行不可能的操作,您甚至无法引发错误)。

关于javascript - 如何将 localStorage 项设置为函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com