JavaScript-BOM

概念

BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可 以与浏览器窗口进行互动的对象结构。BOM 由多个对象组成,其中代表浏览器窗口的 Window 对象是 BOM 的顶层对象,其他对象都是该对象的子对象。我们在浏览器中的一些操作都可以使用BOM的方式进行编程处理,比如:刷新浏览器、后退、前进、在浏览器中输入URL等。

window对象

window 对象是浏览器的顶级对象,当调用 window 下的属性和方法时,可以省略 window。

注意:window下两个特殊的属性 window.name、window.top。name属性为预定义好的属性,如果定义同名的全局变量,只会在原有属性上进行赋值,且只能是字符串格式的值。而top属性相当于一个指向的是顶层对象window的指针,并且是只读的,不可更改。

对话框

  • 警示框:alert();
  • 提示框:prompt();
  • 确定或取消:confirm();

confirm方法有返回值,点击确定返回true,点击取消返回false
在实际工作中比较少使用对话框,对话框弹出后会阻挡后续程序加载,不同浏览器存在弹出后样式不同,以及不关闭弹框则无法关闭页面的问题。

加载事件

我们可以给 window 对象或者 <img> 等元素添加 onload 加载事件,表示只有绑定事件的元 素加载完毕才能触发事件,才能执行事件函数。
其中 window 对象加载完毕:指的是所有HTML结构加载完,并且外部引入资源(js、css、img、 视频)也加载完毕。
利用 window.onload 事件,可以将 js 代码提前到 html 结构之前。
注意:一个页面中只能有一个 window.onload 事件。

延时器与清除延时器

延时器是 window 对象的一个方法,类似于定时炸弹。
语法:window.setTimeout(func,time);
第一个参数:延时执行的函数,可以是匿名函数定义,或者是一个函数名的引用,注意不要加 () 。
第二个参数:延时的时间,以毫秒计数,1000 毫秒等于 1 秒。
功能:在指定的时间后,延迟执行一个函数。

清除延时器是 window 对象的一个方法。
语法:window.clearTimeout(timeout);
参数:指定的延时器变量名引用。
功能:清除指定的延时器。
注意:清除的延时器需要将延时器存储到一个变量中,便于后期清除调用。

定时器与清除定时器

定时器是 window 对象的一个方法,相当于定时闹钟,每隔固定的时间响一次
语法:window.setInterval(func,interval);
第一个参数:每次执行的函数,可以是匿名函数定义,或者是一个函数名的引用,注意不要 加 () 。
第二个参数:时间间隔,以毫秒计数,1000 毫秒等于 1 秒。
功能:每隔一个指定的时间,周期性的执行一个函数。

清除定时器是 window 对象的一个方法
语法:window.clearInterval(timer);
参数:指定的定时器变量名引用。
功能:清除指定的定时器。
注意:清除的定时器需要存储到一个变量中,便于后期清除调用。

location 对象

location 对象是 window 对象下的一个属性,使用的时候可以省略 window 对象,可以获取或者设置浏览器地址栏的 URL 。
可以使用 chrome 的控制台查看 location 对象成员,也可以查询 Location - Web API 接口参考 | MDN (mozilla.org)

常见属性方法 说明
href 用于输出URL地址,重新赋值,可以跳转到新页面,并且记录历史
location.href = "http://www.lagou.com";
assign() 委派,作用 与 href 属性一样,可以设置页面跳转的地址
location.assign("http://www.lagou.com");
replace() 替换,用于替换掉地址栏中当前的网址,但是不记录历史
location.replace("http://www.lagou.com");
reload() 重新加载,类似键盘中 f5 功能,类似于false效果, ctrl+f5 强制刷新,从服务器获取页面,相当于 true 的效果。
参数:true 强制从服务器获取页面,false 如果浏览器有缓存网页的话,会直接从缓存中获取页面。

URL

统一资源定位符 (Uniform Resource Locator, URL)
URL的组成:scheme://host:port/path?query#fragment
例如:http://www.lagou.com:80/a/b/index.html?name=zs&age=18#bottom

名称 说明
scheme 通信协议,常用的http,ftp,maito等
host 主机,服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
port 端口号,整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
path 路径,由零或多个'/'符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
query 查询,可选,用于给动态网页传递参数,可有多个参数,用'&'符号隔开,每个参数 的名和值用'='符号隔开。例如:name=zs
fragment 信息片断,字符串,锚点.

history 对象

history 对象是 window 对象下的一个属性,使用的时候可以省略 window 对象,可以与浏览器历史记录进行交互,浏览器历史记录是对用户所访问的页面按时 间顺序进行的记录和保存。
back()返回至上一页面;
forward()前进到下一页面;
go()传入整数参数作为跳转次数,正数为前进次数,负数为后退次数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • BOM(Browser Object Model 浏览器对象模型) BOM的概述 1、什么是BOM BOM(Br...
    wakemeup_6575阅读 205评论 0 0
  • BOM BOM 是指浏览器对象的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行交互的对象结构。BOM...
    GongShengM阅读 403评论 0 0
  • webAPI API:应用程序编程接口 是预先定义的函数,目的是提供应用程序与开发人员基于某个软件或硬件得以访问一...
    你好好想想_be60阅读 349评论 0 1
  • BOM的概念 浏览器对象模型,提供了独立于内容的,可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代...
    amanohina阅读 288评论 0 0
  • BOM的概念 BOM指浏览器对象模型,BOM由多个对象组成,其中代表浏览器窗口的window对象是BOM的顶层对象...
    安掌门dear阅读 167评论 0 1