为什么我不能重新分配 window.document 属性?



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

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

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

这似乎是某种魔力,我想知道为什么会发生这种情况。

谢谢你的好问题。引擎盖下属性可以具有描述符。我们可以很容易地处理它们。像这里:

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

如果你检查结果,你会看到文档属性只是没有二传手。这就是您无法重新分配它的原因。

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

最新更新