javascript - 为什么我不能重新分配 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);
如果您检查结果,您将看到该文档属性没有设置器。这就是为什么你不能重新分配它。
在这里您可以找到有关描述符的更多信息
推荐阅读
- ios - 使用 DispatchSemaphore wait() 冻结应用程序
- python - 在 python 中读取 csv 文件时跳过第二行数据帧
- java - 带有 Thymeleaf4 的 Spring Boot mvc。嵌套片段
- java - 在 Java 8 中启用列表连接的强制转换和泛型
- excel - 运行时错误 1004 对象应用程序定义或对象定义错误
- python - 使用 python/pandas 将分类数据分组到其他分类数据上
- php - Mysql查询在2个不同的表中获取项目作为ID
- excel - VBA 使用自己的宏创建新工作簿(没有指向以前工作簿的链接)
- javascript - Mak js 文件可在 react-app 中全局访问,无需包含为脚本
- sql - 使用日期模式的多个表与使用日期索引的单个表