1.window object:
The window
object represents the window itself. The document
property of a window
points to the DOM document loaded in that window.
In a tabbed browser, such as Firefox, each tab contains its own window
object
2.document object:
Each web page loaded in the browser has its own document object. This object serves as an entry point to the web page's content (the DOM tree, including elements such as <body>
and <table>
) and provides functionality global to the document (such as obtaining the page's URL and creating new elements in the document).
A document object can be obtained from various APIs:
- Most commonly, you work with the document the script is running in by using
document
in document's scripts. (The same document can also be referred to aswindow.document
.) - The document of an iframe via the iframe's
contentDocument
property. - The
responseXML
of anXMLHttpRequest
object. - The document that a given node or element belongs to can be retrieved using the node's
ownerDocument
property. - ...and more.
Depending on the kind of the document (e.g. HTML or XML) different APIs may be available on the document object. This theoretical availability of APIs is usually described in terms of implementing interfaces defined in the relevant W3C DOM specifications:
- All document objects implement the DOM Core
Document
andNode
interfaces, meaning that the "core" properties and methods are available for all kinds of documents. - In addition to the generalized DOM Core document interface, HTML documents also implement the
HTMLDocument
interface, which is a more specialized interface for dealing with HTML documents (e.g.,document.cookie
,document.alinkColor
). - XUL documents (available to Mozilla add-on and application developers) implement their own additions to the core Document functionality.