首页 > 解决方案 > 为什么我不能重新分配 window.document 属性?

问题描述

我正在使用 Javascript 并发现我无法更改window.document对象的默认值(由浏览器提供)。

window.document = 3;
console.log(window.document);

我试图console.log(window)在对象中看到类似只读属性的东西,document但没有找到任何东西。

这似乎是某种魔法,我想知道为什么会这样。

标签: javascript

解决方案


谢谢你的好问题。引擎盖下的属性可以有一个描述符。我们可以轻松应对。像这儿:

const dsc = Object.getOwnPropertyDescriptor(window, 'document');
console.log(dsc);

如果您检查结果,您将看到该文档属性没有设置器。这就是为什么你不能重新分配它。

在这里您可以找到有关描述符的更多信息


推荐阅读