JavaScript 中的文档是什么?它的范围是什么?

SHA*_*ANK 1 javascript dom

var document = "temp";

function showDocument()
{
    alert(document); // temp or HTML DOM Document
}
Run Code Online (Sandbox Code Playgroud)

它向我显示了“HTML DOM Document”,应该是这种情况。它是一个对象、保留关键字、只读对象吗?

如果它是一个对象,它应该是可编辑的。如果它是保留关键字,JavaScript 应该抛出错误/异常。如果它是只读的,我如何修改document只能通过访问的DOM本身?

Poi*_*nty 5

它是全局 ( ) 对象的只读属性window。它的值是一个本机对象,表示当前加载到窗口中的 HTML/XML/任何文档。

要修改 DOM,请使用DOM 操作 API。

编辑— 澄清一下,window对象的“文档”属性(或者,如果您愿意,称为“文档”的全局变量)本身是不可变的,并且 JavaScript 无法更改其值。然而,该值是对对象的引用,该对象以各种方式可变。

  • 指向对象的只读属性(在这种情况下,您也可以说*变量*)并不意味着该对象是不可变的。你无法修改“指针”,但可以修改 DOM 树。 (2认同)