一, 什么是BOM

BOM:Browser Object Model,浏览器对象模型

BOM的结构图:

从上图也可以看出:

  • window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
  • DOM是BOM的一部分。

window对象:

  • window对象是JavaScript中的顶级对象
  • 全局变量、自定义函数也是window对象的属性和方法。
  • window对象下的属性和方法调用时,可以省略window。

二, BOM 的常见内置方法和内置对象

弹出系统对话框:

比如说,alert(1)window.alert(1)的简写,因为它是window的子方法。系统对话框有三种:

alert();    //不同浏览器中的外观是不一样的
confirm(); //兼容不好
prompt(); //不推荐使用

打开窗口、关闭窗口:

打开窗口:

window.open(url,target)

//url:要打开的地址。
//target:新窗口的位置。可以是:_blank 、_self、 _parent 父框架。

关闭窗口:

window.close() - 关闭当前窗口 (只能关闭用js的window.open()打开的页面)

获取窗口宽高:

window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度

定时器:

在js中的定时器分两种:1. setTimeout() 2. setInterval()

setTimeOut():

只在指定时间后执行一次

/定时器 异步运行
function hello(){
alert("hello");
}
//使用方法名字执行方法
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
window.clearTimeout(t1);//去掉定时器

setInterval():

在指定时间为周期循环执行

/实时刷新  时间单位为毫秒
var t = setInterval('refreshQuery()',8000);
/*刷新查询 */
function refreshQuery(){
console.log('每8秒调一次')
}
window.clearInterval(t);//去掉定时器

两种方法根据不同的场景和业务需求择而取之,

对于这两个方法,需要注意的是如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout

location对象:

window.location可以简写成location。location相当于浏览器地址栏,可以将url解析成独立的片段。

location对象的属性

  • href:跳转
  • hash 返回url中 # 后面的内容,包含#
  • host 主机名,包括端口
  • hostname 主机名
  • pathname url中的路径部分
  • protocol 协议 一般是http、https
  • search 查询字符串

location.href属性举例

举例1:点击盒子时,进行跳转

<body>
<div>百度一下</div>
<script>
var div = document.getElementsByTagName("div")[0]; div.onclick = function () {
location.href = "http://www.baidu.com"; //点击div时,跳转到指定链接
// window.open("http://www.baidu.com","_blank");
//方式二
}
</script>
</body>

举例2:5秒后自动跳转到百度

有时候,当访问一个不存在的网页时,会提示5秒后自动跳转到指定页面,此时就可以用到location。举例:

<script>
setTimeout(function () {
location.href = "http://www.baidu.com";
}, 5000);
</script>

location.reload():重新加载

setTimeout(function(){
//3秒之后让网页整个刷新
window.location.reload();
},3000)

navigator对象

window.navigator 的一些属性可以获取客户端的一些信息

  • userAgent:系统,浏览器
  • platform:浏览器支持的系统,win/mac/linux

例子:

console.log(navigator.userAgent);
console.log(navigator.platform);

history对象

后退:

history.back()
history.go(-1):0是刷新

前进:

history.forward()
history.go(1)

screen对象

screen.availWidth - 可用的屏幕宽度
screen.availHeight - 可用的屏幕高度

JavaScript之BOM操作的更多相关文章

  1. javaScript之BOM操作1

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. javaScript之BOM操作2

    <!doctype html> <html lang="en"> <head> <title>Document</title& ...

  3. Javascript学习--BOM操作

    1 获取UA(user Agent)用户代理 <!DOCtype html> <html> <head> <title></title> & ...

  4. JavaScript 中BOM的常用操作

    JavaScript BOM操作 1.获取浏览器窗口尺寸 var width=window,innerWidth //获取可视窗口宽度 var height=window.innerHeight // ...

  5. 前端javascript之BOM、DOM操作、事件

    BOM与DOM操作 BOM 浏览器对象模型>>>:使用js操作浏览器 DOM 文档对象模型>>>:使用js操作前端页面 window对象 所有浏览器都支持 wind ...

  6. JavaScript的BOM、DOM操作、节点以及表格(二)

    BOM操作 一.什么是BOM BOM(Browser Object Model)即浏览器对象模型.     BOM提供了独立于内容 而与浏览器窗口进行交互的对象:     BOM由一系列相关的对象构成 ...

  7. 第一百一十一节,JavaScript,BOM浏览器对象模型

    JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...

  8. JavaScript DOM&BOM

    1.DOM含义 D: Document 文档 一份文档就是一棵节点树,每个节点都是一个对象O:Object 对象 JavaScript语言里对象可以分为三种类型: (1)用户定义的对象(user-de ...

  9. JavaScript的BOM和DOM

    JavaScript的BOM和DOM 1,window对象,所有浏览器都支持window对象,它表示浏览器窗口 BOM(browser Object Model)是指浏览器对象模型,它使JavaScr ...

随机推荐

  1. JavaSE---泛型系统学习

    1.概述 1.1.泛型: 允许在   定义  类.接口.方法时  使用  类型形参,这个类型形参  将在声明变量.创建对象.调用方法时  动态地指定: 1.2.jdk5后,引入了  参数化类型(允许程 ...

  2. 一篇文章带你了解JavaScript中的语法,数据类型,流程控制语句以及函数

    作者 | Jeskson 来源 | 达达前端小酒馆 1 JavaScript有多重要啊,才能让我说说一下,其中的语法,操作符,数据类型,内置功能等. 语法: 在JavaScript中的变量,函数名和操 ...

  3. ASP.NET超大文件上传与下载

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  4. Dijkstra算法求最短路模板

    Dijkstra算法适合求不包含负权路的最短路径,通过点增广.在稠密图中使用优化过的版本速度非常可观.本篇不介绍算法原理.只给出模板,这里给出三种模板,其中最实用的是加上了堆优化的版本 算法原理 or ...

  5. spting-security入门

    spting-security入门 11-

  6. Spring Cloud架构教程 (七)消息驱动的微服务(核心概念)【Dalston版】

    下图是官方文档中对于Spring Cloud Stream应用模型的结构图.从中我们可以看到,Spring Cloud Stream构建的应用程序与消息中间件之间是通过绑定器Binder相关联的,绑定 ...

  7. Oracle Fetch子句

    Oracle Fetch子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle FETCH子句来限制查询返回的行数. ...

  8. iOS9 3DTouch 之 Home Screen Quick Actions

    最后更新:2016-12-18 测试环境: Xcode8.1 一.前言 iOS9 已经过去一年了,3D Touch也在项目中实战过,但一直没有总结一下,现在新的项目也用到了3D Touch, 网上找了 ...

  9. ODB Examples

    http://www.codesynthesis.com/products/odb/examples.xhtml The following list gives an overview of the ...

  10. WAMPSERVER php

    The Apache service named reported the following error:>>> (OS 10013)An attempt was made to ...