您的位置:首页 > Web前端 > JavaScript

javascript高级开发学习笔记七

2015-12-25 09:21 417 查看
一、BOM

1.window对象:BOM的核心是window。在浏览器中,window对象有双重角色,它既是通过Javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。表示在网页中定义的任何一个变量、对象和函数,都以window作为其Global对象。

1.1 全局作用域:由于windows对象同时扮演着ECMAScript中Global对象的角色,因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。

定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过delete操作符删除,而直接在window对象上定义的属性可以。通过var 添加的window属性有一个名为[[Configurable]]属性,这个属性的值为false,所以不可以通过delete操作符删除。

尝试访问未声明的变量会抛出异常,但是通过查询window对象,可以知道某个可能未声明的变量是否存在。

1.2 窗口关系及框架:如果页面中包含框架,则每个框架都有自己的window对象,并保存在frames集合中。在frames集合中,可通过索引和框架名称来访问相应的window对象。

top对象始终指向最高最外层框架,也就是浏览器窗口。使用它可以确保在一个框架中正确的访问另一个框架。与top对象相对的另一个window对象是parent。parent对象始终指向当前框架的直接上层框架,在某些情况下,parent有可能等于top;但是没有框架的情况下,parent一定等于top(此时它们都等于window)。

self对象,它始终指向window;self和window对象可以互换使用。引入self对象的目的是为了与top和window对象对应起来,因此它不格外包含其它值。

1.3 窗口位置:screenLeft和screenTop、screenX和screenY、window.moveTo()和window.moveBy()。

1.4 窗口大小:innerWidth、innerHeight、outerWidth、outerHeight

(标准模式)document.documentElement.clientWidth、document.documentElement.clientHeight

(混杂模式)document.body.clientWidth、document.body.Height

window.resizeTo、window.resizeBy()

1.5 导航和打开窗口(window.open())

弹出窗口:window.open():4个参数:要加载的url、窗口目标、一个特性字符串、表示新页面是否取代浏览器历史记录中当前页面的布尔值。window.open()方法会返回一个指向新窗口的引用,通过这个引用可以操作窗口(resizeTo()、moveTo()、close())。新创建的window对象有一个opener属性,其中保存着打开它的原始窗口对象。

1.6 间歇调用和超时调用

setTimeout()两个参数:要执行的代码和毫秒(执行代码前要等待的时间)。该方法返回一个ID,ID用于取消超时调用clearTimeout(ID)。

setInterval()两个参数:要执行的代码和执行间隔时间(毫秒)。返回ID,用于取消取消间歇调用clearInterval(ID);

1.7 系统对话框

浏览器通过alert()、confirm()、prompt()方法可以调用系统对话框向用户显示信息。

2.location对象

location是最有用的对象之一,它提供了与当前窗口中加载的文档相关的信息,还提供了一些导航功能。location对象是一个很特别的对象,它既是window对象的属性,又是documet对象的属性。location对象可以将URL解析为独立的片段,让开发人员通过不同的属性访问这些片段。

replace()方法打开一个新地址,不会在历史记录中生成新记录,用户不能返回到前一个页面。

reload()作用是重新加载当前页面(浏览器缓存中加载)。reload(true)重新从服务加载。

3.navigator对象(用于检测显示网页的浏览器类型)

4.screen对象

5.history对象

history.go()、history.back()、history.forword()

二、客户端检测

1.能力检测
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: