这个问题是如此基本,但我不知道答案。

为什么screen对象在字符串化时返回空?

这是否意味着JSON.stringify()需要对输入的读/写访问权限?

let a = {foo: 'one', bar: 2};


console.log(JSON.stringify(a));
console.log(JSON.stringify(screen));

最佳答案

从MDN网络

对于所有其他Object实例(包括Map,Set,WeakMap和WeakSet),仅将其可枚举的属性序列化。



https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable

    console.log((window.screen));
    console.log(JSON.stringify(window.screen));
    console.log(window.propertyIsEnumerable(screen));

关于javascript - 为什么JSON.stringify()对于某些对象返回空结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51556701/

10-09 16:49