js原生BOM理解

DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象。

归DOM管的:

E区(就是你说的document啦。由web开发人员呕心沥血写出来的一个文件夹,里面有index.html,CSS和JS什么鬼的,部署在服务器上,我们可以通过浏览器的地址栏输入URL然后回车将这个document加载到本地,浏览,右键查看源代码等。

归BOM管的:

A区(浏览器的标签页,地址栏,搜索栏,书签栏,窗口放大还原关闭按钮,菜单栏等等)

B区(浏览器的右键菜单)

C区(document加载时的状态栏,显示http状态码等)

D区(滚动条scroll bar)

BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作

Window对象

Window 对象是 JavaScript层级中的顶层对象。

Window 对象代表一个浏览器窗口或一个框架。

Window 对象会在 

或每次出现时被自动创建。

 

1)对象属性

window //窗户自身, window=window.self可使用全局属性window访问 Window对象

document 对 Document 对象的只读引用。请参阅Document对象。

history 对 History 对象的只读引用。请参数History对象。

location 用于窗口或框架的 Location 对象。请参阅Location对象。

screen 对 Screen 对象的只读引用。请参数Screen对象。

navigator 对 Navigator 对象的只读引用。请参数Navigator对象。

defaultStatus 设置或返回窗口状态栏中的默认文本。

innerheight 返回窗口的文档显示区的高度。

innerwidth 返回窗口的文档显示区的宽度。

outerheight 返回窗口的外部高度。

outerwidth 返回窗口的外部宽度。

pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。

pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。

name 设置或返回窗口的名称。

parent 返回父窗口。

top 返回最顶层的先辈窗口。

status 设置窗口状态栏的文本。

window.location //URL地址,配备布置这个属性可以打开新的页面

2)对象方法

window.close(); //关闭窗口

window.; //弹出一个具有OK按钮的系统消息框,显示指定的文本

window.confirm("Are you sure?"); //弹出一个具有OK和Cancel按钮的询问对话框,返回一个布尔值

window.prompt("What's your name?", "Default"); //提示用户输入信息,接受两个参数,即要显示给用户的文本和文本框中的默认值,将文本框中的值作为函数值返回

window.status //可以使状态栏的文本暂时改变

window.defaultStatus //默认的状态栏信息,可在用户离开当前页面前一直改变文本

window.setTimeout("; //设置在指定的毫秒数后执行指定的代码,接受2个参数,要执行的代码和等待的毫秒数

window.clearTimeout("ID"); //取消还未执行的暂停,将暂停ID传递给它

window.setInterval(function, 1000); //无限次地每隔指定的时间段重复一次指定的代码,参数同setTimeout()一样

window.clearInterval("ID"); //取消时间间隔,将间隔ID传递给它

window.history.go(-1); //访问浏览器窗口的历史,负数为后退,正数为前进

window.history.back(); //同上

window.history.forward(); //同上

window.history.length //可以查看历史中的页面数  

clearInterval() 取消由 setInterval() 设置的timeout。

clearTimeout() 取消由 setTimeout() 方法设置的timeout。

createPopup() 创建一个 pop-up 窗口。

moveBy() 可相对窗口的当前坐标把它移动指定的像素。

moveTo() 把窗口的左上角移动到一个指定的坐标。

open() 打开一个新的浏览器窗口或查找一个已命名的窗口。

print() 打印当前窗口的内容。

resizeBy() 按照指定的像素调整窗口的大小。

resizeTo() 把窗口的大小调整到指定的宽度和高度。

scrollBy() 按照指定的像素值来滚动内容。

scrollTo() 把内容滚动到指定的坐标。

setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。

setTimeout(方法,秒数) 在指定的毫秒数后调用函数或计算表达式。 

timeOutEvent = setTimeout("longPress('" + obj + "')",1500);定时器传参数

3)成员对象

window.event

window.document //见document对象详解

window.history

window.screen

window.navigator

Window.external

扩展

① 如果文档包含框架(frame 或iframe标签),浏览器会为HTML文档创建一个window对象,并为每个框架创建一个额外的window对象。

 

② window.frames 返回窗口中所有命名的框架

 

③parent是父窗口(如果窗口是顶级窗口,那么parent==self==top)

 

top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe)

 

self是当前窗口(等价window)

 

opener是用open方法打开当前窗口的那个窗口

 

④与消息框有关的方法:

 

⑤两种定时器:setTimeout(code,latency) 和setInterval(code,period)

 

注:setTimeout只执行一次code,如果要多次调用,可以让code自身再次调用setTimeout();setInteval_r()会不停地调用code,直到clearInterval()被调用。

原文地址:https://www.cnblogs.com/guanhuohuo/p/12526232.html