javascript高级开发学习笔记七

一、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.能力检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值