1.什么是 window 对象?什么是 document 对象?2.比较 attachEvent 和 addEventListener?3.

242 阅读5分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情

1.什么是 window 对象?什么是 document 对象?

1、什么是 window 对象

简单来说,document 是 window 的一个对象属性。

Window 对象表示浏览器中打开的窗口。

如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个

window 对象,并为每个框架创建一个额外的 window 对象。

所有的全局函数和对象都属于 Window 对象的属性和方法。

它是一个顶层对象,而不是另一个对象的属性,即浏览器的窗口。 属性

defaultStatus 缺省的状态条消息

document 当前显示的文档(该属性本身也是一个对象)

frame 窗口里的一个框架((FRAME>)(该属性本身也是一个对象)

frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出

(该属性本身也是一个对象)

history 窗口的历史列表(该属性本身也是一个对象)

length 窗口内的框架数

location 窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与

如 document.location 混淆,后者是当前显示文档的 URL。用户可以改变 window.location(用另

一个文档取代当前文档),但却不能改变 document.location (因为这是当前显示文档的位置)

name 窗口打开时,赋予该窗口的名字

opener 代表使用 window.open 打开当前窗口的脚本所在的窗口(这是 Netscape

Navigator 3.0beta 3 所引入的一个新属性)

parent 包含当前框架的窗口的同义词。frame 和 window 对象的一个属性

self 当前窗口或框架的同义词

status 状态条中的消息

top 包含当前框架的最顶层浏览器窗口的同义词

window 当前窗口或框架的同义词,与 self 相同

方法

alert() 打开一个 Alert 消息框

clearTimeout() 用来终止 setTimeout 方法的工作

close() 关闭窗口

confirm() 打开一个 Confirm 消息框,用户可以选择 OK 或 Cancel,如果用户单击 OK,

该方法返回 true,单击 Cancel 返回 false

blur() 把焦点从指定窗口移开(这是 Netscape Navigator 3.0 beta 3 引入的新方

法)

focus() 把指定的窗口带到前台(另一个新方法)

open() 打开一个新窗口

prompt() 打开一个 Prompt 对话框,用户可向该框键入文本,并把键入的文本返回

到脚本

setTimeout() 等待一段指定的毫秒数时间,然后运行指令事件处理程序事件处

理程序

onload() 页面载入时触发

onunload() 页面关闭时触发 links array 文档中 link 对象的一个数组,按照它们出现在文档中的顺序排列(该属性

本身也是一个对象)

location 当前显示文档的 URL。用户不能改变 document.location(因为这是当前显示

文 档 的 位 置 ) 。 但 是 , 可 以 改 变 window.location ( 用 其 它 文 档 取 代 当 前 文

档)window.location 本身也是一个对象,而 document.location 不是对象

referrer 包含链接的文档的 URL,用户单击该链接可到达当前文档

title 文档的标题((TITLE>)

vlinkColor 指向用户已观察过的文档的链接文本颜色,即标记的 VLINK 特性

方法

clear 清除指定文档的内容

close 关闭文档流

open 打开文档流

write 把文本写入文档

writeln 把文本写入文档,并以换行符结尾

区别:

1、window 指窗体。document 指页面。document 是 window 的一个子对象。

2、用户不能改变 document.location(因为这是当前显示文档的位置)。但是,可以改变

window.location (用其它文档取代当前文档)window.location 本身也是一个对象,而

document.location 不是对象

2、什么是 document 对象

[document 对象]

该对象是 window 和 frames 对象的一个属性,是显示于窗口或框架内的一个文档。

属性

alinkColor 活动链接的颜色(ALINK)

anchor 一个 HTMI 锚点,使用<A NAME=>标记创建(该属性本身也是一个对象)

anchors array 列出文档锚点对象的数组(<A NAME=>)(该属性本身也是一个对象)

bgColor 文档的背景颜色(BGCOLOR)

cookie 存储于 cookie.txt 文件内的一段信息,它是该文档对象的一个属性

fgColor 文档的文本颜色(标记里的 TEXT 特性)

form 文档中的一个窗体(

)(该属性本身也是一个对象)

forms anay 按照其出现在文档中的顺序列出窗体对象的一个数组(该属性本身也是一

个对象)

lastModified 文档最后的修改日期

linkColor 文档的链接的颜色,即标记中的 LINK特性(链接到用户没有观察到的

文档)

link 文档中的一个<A HREF=>标记(该属性本身也是一个对象)

2.比较 attachEvent 和 addEventListener?

attachEvent 只能在 IE 浏览器给标签绑定事件, 可以多次绑定

语法:Element.attachEvent(Etype,EventName)

参数 Element:要为该元素动态添加一个事件

Etype:指定事件类型.比如:onclick,onkeyup,onmousemove 等

EventName:指定事件名称.也就是你写好的函数

addEventListenerW3C 标准, 除 IE 浏览器使用, 它给标签绑定事件

语法:Element.addEventListener(Etype,EventName,boole)

Etype:事件类型.比如:click,keyup,mousemove.注意使用 addEventListener 绑定事件时,设

置参数事件类型时不必写 on.否则会出错

EventName:要绑定事件的名称.也就是你写好的函数

boole:该参数是一个布尔值:默认 false.false 代表冒泡阶段执行, true 代表捕获阶段执行