3-BOM和DOM

BOM Browser Object Model,浏览器对象模型。主要提供了访问和操作浏览器各组件的方式。 浏览器组件

  • window(浏览器窗口)
    • 是JS中最大的对象,其他所有的对象,都是window的子对象
  • location(地址栏)
  • history(浏览历史)
  • screen(显示器屏幕)
    • 获取屏幕的相关信息
  • navigator(浏览器软件)
    • 该对象用于判断用户的浏览器,可以解决兼容性问题
  • document( 页)


DOM Document Object Model,文档对象模型。主要提供了访问和操作HTML标记的方式。 HTML标记:

  • 图片img
  • 表格table
  • 表单form
  • body,HTML。。。

BOM和DOM不是JS的内容。它们是W3C制定的规范(HTML、CSS、JavaScript、AJax。。)。但是,BOM和DOM在浏览器中以对象的形式得以实现

3-BOM和DOM

各个对象的访问,是按照各对象的层级关系。由于window是最顶层对象,可以省略
forin遍历 for(name | index in obj | arr){ }

  • 描述:只能循环数组的下标,或对象的属性
  • 说明:
    • 如果循环数组,每次循环取下标值
    • 对于数组中值为undefined的,不会循环,只返回有效值
    • 如果循环对象,每次循环取出对象属性(包括方法)


window对象属性 name:指浏览器窗口的名字或框架的名字。这个名字是给标记的target属性来用。 top:代表最顶层窗口 parent:代表父级窗口,主要用于框架中 self:代表当前窗口,主要用于框架 innerWidth:代表浏览器的内宽(不含菜单栏、工具栏、地址栏、状态栏),该属性FF支持

  •      在IE下,使用document.documentElement.clientWidth代替

innerHeight:代表浏览器的内高 (不含菜单栏、工具栏、地址栏、状态栏),该属性FF支持

  •      使用document.documentElement.clientHeight代替
  •      document.documentElement 就是标记对象
  •      document.body 就是标记对象


window对象方法 alert():弹出警告对话框 prompt():弹出输入对话框 confirm():弹出确认对话框。返回一个boolean close():关闭窗口 print():打印窗口 open(URL,name,options):打开一个新的浏览器窗口

  • URL:准备在新窗口显示那个文件。可以为空字符串
  • name:新窗口的名字在,该名字给的target使用
  • options:窗口的规格
    • width:新窗口的宽度
    • height
    • left:新窗口距离屏幕左边的距离
    • top:距离屏幕上边的距离
    • menubar:是否显示菜单栏
    • toolbar:是否显示工具栏
    • status:是否显示状态栏
  • 返回值:返回一个window对象的变量,可以通过该名称跟踪该窗口。


延时器方法 —setTimeout() 设置一个延时器。只会执行一次JS代码。 语法:var timer = window.setTimeout(code,millisec) 参数:

  • code:是任何合法的JS代码,一般情况下是JS函数。该函数要在放在引 中
    • 举例:window.setTimeout(“close()”,2000)
    • 举例:window.setTimeout(init,2000)//传函数地址,因此不需要括 。加括 ,是将函数的执行结果传到方法中
  • millisec:毫秒值

返回值:返回一个延时器的id变量,这个id变量是给clearTimeout()用来清除。 延时器要想重复执行,必须在函数中不断调用自己。 clearTimeout() 清除延时器id变量 语法:clearTimeout(id)
定时器方法 —setInterval() 设置一个定时器。定时器,重复不断的执行JS代码(周期性) 语法:var timer = window.setInterval(code,millisec) 参数:

  • code:是任何合法的JS代码,一般情况下是JS函数。该函数要在放在引 中
    • 举例:window.setInterval(“close()”,2000)
    • 举例:window.setInterval(init,2000)//传函数地址,因此不需要括 。加括 ,是将函数的执行结果传到方法中
  • millisec:毫秒值

返回值:返回一个延时器的id变量,这个id变量是给clearInterval()用来清除。 定时器总是调用其它函数,而延时器总是调用自己所在的函数 clearInterval(id)
screen屏幕对象

  • width:宽
  • height:屏幕的高
  • availWidth:屏幕的有效宽,不含任务栏
  • availHeight:屏幕的有效高,不含任务栏


navigator对象

  • appName:浏览器软件名称,主要用来判断用户使用的是什么核心的浏览器,解决兼容性问题。
    • IE:返回值为Macrosoft Internet Explorer
    • FF:返回值为Netscape
  • appVersion:浏览器软件的核心版本
  • systemLanguage:系统语言
  • userLanguage:用户语言
  • platform:平台


location地址栏对象

  • href:获取地址栏中完整的地址。可以实现JS的 页跳转,location.href=“http://www.sina.com.cn”;
  • host:主机名
  • hostname:主机名
  • pathname:文件路径及文件名
  • search:查询字符串,地址栏后的内容
  • protocol:协议
  • hash:锚点名称
  • reload([true]):刷新 页。true表示强制刷新
  • 注意:所有的属性,重新赋值后, 页将自动刷新



history历史记录对象

  • length:历史记录个数
  • go(n):同时实现前进和后退
    • go(0):刷新
    • go(-1):后退
    • go(1):前进一步
  • forward():前进
  • back():后退

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年3月20日
下一篇 2016年3月20日

相关推荐