XMLHttpRequest与JSWindow对象有什么关系

How does XMLHttpRequest relate to the JS Window object

在阅读 XMLHttpRequest 时发现它是高级 JS 全局 window 对象的成员。例如:

if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ...
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 6 and older
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}

但我无法在其他任何地方确认此信息?我在这里 https://developer.mozilla.org/en-US/docs/Web/API/Window 查找是否可以找到 XMLHttpRequest 对象,但没有任何提及。我错过了什么吗?只是想确保我理解 XMLHttpRequest 的正确来源以及它与全局 window 对象的关系。

参见the WebIDL definition for the XMLHttpRequest interface

[Constructor, Exposed=(Window,DedicatedWorker,SharedWorker)]
interface XMLHttpRequest : XMLHttpRequestEventTarget {
…
}

因此这需要 XMLHttpRequestWindow 以及 DedicatedWorkerSharedWorker 中公开(在实际实现这些的 UA 中)。