BOM提供了很多对象,用于访问浏览器的功能。这些功能与任何网页无关。

1BOM的核心对象是window,它代表浏览器的一个实例,它是通过JS访问浏览器窗口的一个借口,同时又是ECMAScript规定的global对象,因此我们在网页中定义的任何一个对象,变量和函数都是以window作为其global对象的(ES6规定,let,const,class定义的全局变量,不再是以window作为global)

注意:定义的全局变量是不能通过delete操作符删除的,但是window对象上面定义的属性可以。

2如果页面包含多个框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。每个window对象都有name属性,通过top.frames[index],或者top.frames[name]来访问相对应的window对象,与top顶层想对应的是parent,该对象指向的始终是当前框架的直接上层框架。

3screenLeft 与screenTop :分别表示浏览器窗口相对于电脑屏幕的左侧与顶部的距离,screenX与screenY,是相对于不同的浏览器而言。不能跨浏览器取到值,存在兼容,但是moveTo()与moveBy可以精准的将窗口移动到一个新位置

4窗口大小:

innerWidth,innerHeight   Opera 表示容器中视图的大小,(减去了边框宽度)

outerWidth:,outerHeight 浏览器窗口本身的宽和高

注意1: Chrome中,innerWidth == outerWidth 他们宽高相等,即都返回的是页面视图的大小,而不是浏览器窗口的大小。

注意2:document.documentElement.clientWidth,document.documentElement.clientHeight中保存了页面视口的信息,这些属性必须在标准模式下 IE6

  混合模式下,document.body.clientWidth,document.body.clientHeigth 取得相同的信息 IE6

  Chrome的混杂模式,两种方式都可以

5setTimeout超时调用(执行一次),相当于一个定时炸弹一样,该方法会返回一个数值Id,clearTimeout(id)可以在未执行之前来达到清除的作用;

setInterval()间歇性调用(多次执行),clearInterval(id)可以取消间隙性的调用;

6location对象是最有用的BOM对象之一,他提供了与当前窗口中加载的文档的信息,他既是window对象的属性,也是document对象的属性,

7navigator对象存储着客户端浏览器的信息,

笔记-JS高级程序设计-BOM篇的更多相关文章

  1. 初心不负 笔记-JS高级程序设计-引用类型篇-Array

    ES3方法集合: 1join()方法,将一个数组里面的所有元素转换成字符串,然后再将他们连接起来返回一个字符串,通过制定的符号,默认值为逗号.不会改变原数组 ,,,,]; a.join(); &quo ...

  2. 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

    读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺 ...

  3. 读书笔记 - js高级程序设计 - 第八章 BOM

      BOM的核心对象是window 它表示浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过js访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象,这意味着在网 ...

  4. 笔记-JS高级程序设计-基本概念篇

    1:JS中的一切(变量,函数名和操作符)都是区分大小写的 2:标识符(变量,函数,属性的名字,以及函数的参数),第一个字符必须是字母,下划线,或者美元$,书写方式采用驼峰式,不能将关键字作为标识符. ...

  5. 笔记-JS高级程序设计-变量,作用域和内存问题

    1在将一个值赋给变量时,解析器必须确认这个值是基本类值还是引用类型值,基本类型值是按值访问的,可以操作保存在在变量中的实际值,引用类型是保 存在内存中的对象,JS不允许直接访问内存中的位置,所以实际操 ...

  6. 读书笔记 - js高级程序设计 - 第十章 DOM

      文档元素 是文档的最外层元素,在Html页面中,文档元素始终都是<html>元素 在xml中,任何元素都可以是文档元素 Node类型 Node.ELEMENT_NODE 元素 Node ...

  7. 读书笔记 - js高级程序设计 - 第五章 引用类型

      引用类型 和 类 不是一个概念 用typeof来检测属性是否存在 typeof args.name == "string"  需要实验 访问属性的方法 .号和[] 一般情况下要 ...

  8. 读书笔记 - js高级程序设计 - 第十二章 DOM2和DOM3

      Node类型的变化   访问元素的样式 myDiv.style.backgroundColor = "red" myDiv.style.width = "100px& ...

  9. 读书笔记 - js高级程序设计 - 第十一章 DOM扩展

      对DOM的两个主要的扩展 Selectors API HTML5  Element Traversal 元素遍历规范 querySelector var body = document.query ...

随机推荐

  1. Confluence 6 自定义管理员联系信息

    你可以自定义在 联系站点管理员(Contact Site Administrators)页面中显示的消息. 希望编辑这个管理员联系消息: 在屏幕的右上角单击 控制台按钮 ,然后选择 General C ...

  2. 1283: 骨牌铺方格(zzuli)

    Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input ...

  3. 《剑指offer》旋转数组中的最小数字

    本题来自<剑指offer> 旋转数组中的最小数字 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例 ...

  4. java子类对象和成员变量的隐写&方法重写

    1.子类继承的方法只能操作子类继承和隐藏的成员变量名字类新定义的方法可以操作子类继承和子类新生命的成员变量,但是无法操作子类隐藏的成员变量(需要适用super关键字操作子类隐藏的成员变量.) publ ...

  5. Java手动释放对象

    伪代码 public void updateUser(BufferedWriter writer, BufferedReader reader) { List<User> array = ...

  6. c++ 链表基础功能实现

    #include<stack> struct ListNode { int m_nValue; ListNode* m_pNext; }; ListNode* CreateListNode ...

  7. ActiveSync中的http内容组织

    1. POST Request 数据格式 Request-line Request-headers CR/LF Request Body Request-line POST <URI> H ...

  8. 常见的爬虫分析库(2)-xpath语法

    xpath简介 1.xpath使用路径表达式在xml和html中进行导航 2.xpath包含标准函数库 3.xpath是一个w3c的标准 xpath节点关系 1.父节点 2.子节点 3.同胞节点 4. ...

  9. 重新认识python

    为什么这样说呢,我几个月前就开始学python,但是一直都没有进步,还就只是会一些其它语言的共性的问题,也就是新学习的约等于0. 后来一直找一些适合自己的教材,通过同学找到了一个学长的教程. 开始了新 ...

  10. sqoop无法导出parquet文件到mysql

    1.问题描述 在CDH集群中我们需要将Hive表的数据导入到RDBMS数据库中,使用Sqoop工具可以方便的将Hive表数据抽取到RDBMS数据库中,在使用Sqoop抽取Hive Parquet表时作 ...