【发布时间】:2019-11-04 22:20:42
【问题描述】:
我想将
window.screen属性和值转换为字符串发送到后端。 (我可以提取每个属性的值,但很好奇为什么下面会失败)不知道为什么
JSON.stringify(window.screen)返回"{}"。请注意,手动创建的对象
orientation_似乎可以将 JSON 转换为字符串。
- 进一步实验,我尝试复制对象,然后删除
__proto__对象,认为这可能无法转换为字符串。但奇怪的是我无法删除任何键!
更新 #1:
根据以下提示,循环引用可能是问题所在... 在这里,我们看到变量
a具有对自身的循环引用。使用 Flatted(循环 JSON 解析器)我们看到a被转换为字符串,但window.screen仍然没有转换。根据文档JSON.stringify(),函数被字符串化为
null。所以函数不是问题。
所以仍然不清楚这种行为的原因。
【问题讨论】:
标签: javascript google-chrome google-chrome-devtools