【发布时间】:2018-07-03 06:05:30
【问题描述】:
所以我有以下代码:
alert(JSON.parse(JSON.stringify({func: function(){alert(1);}})) == {func: function(){alert(1);}});
基本上,我 JSON.parse 一个 JSON.stringify 对象(包含一个函数),结果与原始对象不同(警报时我得到了错误)
这让我陷入了游戏的保存进度功能。
帮助表示赞赏!
编辑: 对不起,不好的例子,试试这个:
alert(JSON.parse(JSON.stringify({func: function(){alert(1);}})).func);
它提醒未定义。
【问题讨论】:
-
只是为了澄清,我的警报是错误的。如果你们是真的,那可能是我的电脑坏了
-
即使去掉
JSON.stringify和JSON.parse,条件也会返回false。函数比较见stackoverflow.com/a/9817706/4636715。 -
两个单独的对象永远不会相等:
console.log({} === {}) -
好的,所以我有一个误导性的例子,看看这段代码:alert(JSON.parse(JSON.stringify({func: function(){alert(1);}})).func);
标签: javascript