Javascript 全局对象“窗口”和“文档”的类型是什么?

Javascript 全局对象“窗口”和“文档”的类型是什么?,javascript,dom,Javascript,Dom,在JavaScriptDOM中,有全局对象窗口和文档 窗户的类型是什么?是吗 文件的类型是什么?HTMLDocument请参见下图或 所谓类型,我指的是JavaScript中的接口或类:最终指南 在JavaScriptDOM中,有全局对象窗口和文档 不,不是真的。窗口是浏览器对象模型BOM表的一部分,而不是l。文档不是全局对象,而是全局窗口对象的属性。您可以仅作为文档访问它的原因并不是因为文档是全局的,而是因为窗口是全局的,而且由于JavaScript的工作方式,省略窗口只意味着它最终将在全局窗

在JavaScriptDOM中,有全局对象窗口和文档

窗户的类型是什么?是吗

文件的类型是什么?HTMLDocument请参见下图或

所谓类型,我指的是JavaScript中的接口或类:最终指南

在JavaScriptDOM中,有全局对象窗口和文档

不,不是真的。窗口是浏览器对象模型BOM表的一部分,而不是l。文档不是全局对象,而是全局窗口对象的属性。您可以仅作为文档访问它的原因并不是因为文档是全局的,而是因为窗口是全局的,而且由于JavaScript的工作方式,省略窗口只意味着它最终将在全局窗口对象中找到文档

核心文档对象模型是用于处理XML或HTML文档的通用API,因为它可以在这两种文档中使用,所以文档对象不是特定于HTML或XML文档的

您显示的图形是指文档对象模型的变体,称为HTML DOM,它考虑了特定于HTML文档的元素和属性,因此,在该图形中,HTMLDocument实现了文档接口,这意味着HTMLDocument是一种文档类型,但它仍然在实现节点接口

最后,我们必须解决类型与实例的问题。在JavaScript中,没有窗口或文档类型,只有对象,窗口和文档都是对象。但对象有许多不同的种类,window是window对象的实例,而document是document对象的实例:

console.logtypeof窗口;//窗口是一种对象类型 console.logwindow instanceof Window;//尤其是窗口对象 //您通常可以找到对象实现的接口 //只需将其转换为字符串即可。 console.logwindow.toString;
console.logdocument.toString;易于检查:window instanceof window返回true:。请看我的答案您的答案在您发布的链接的前两段中:全局对象通常指由全局变量持有的对象,它不指全局对象窗口。@Bergi是的,但OP不使用该术语。OP特别指出:在JavaScriptDOM中,有全局对象窗口和文档。很明显,OP指的是全局对象窗口。我不清楚:他提到了窗口和文档全局变量,并提到了它们所持有的对象。是否可以直接询问对象的特定类型,而不是通过window instanceof window猜测和检查?@Tim我已经更新了我的答案,以说明如何通过检查对象的字符串版本来实现这一点。