webapi(5)


typora-copy-images-to: media

第02阶段.前端基本功.webAPI

基础语法

学习目标

  • 理解
    • 什么是BOM
    • 什么是url
  • 重点

    • 掌握页面加载事件
    • 掌握一个完整url的组成部分
    • 掌握location对象常用的方法和属性
    • 掌握history对象常用的方法
    • 掌握navigator对象的userAgent属性的作用
    • 掌握设置定时器的两种方法
    • 掌握移除定时器的方法

1.BOM

概念: BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

通俗理解: 把浏览器当做对象,通过访问对象的属性,实现操作浏览器的一组方法

2. 页面加载事件

2.1 load事件

window.onload = function () {
  
  // 当页面加载完所有内容(包括图像、脚本文件、CSS 文件等)执行
}

2.2 unload事件

window.onunload = function () {
  // 当用户退出页面时执行(关闭页面)
}

小结:

window.onload事件 是页面所有资源加载完成时触发

window.onunload事件 是用户退出页面时触发

3.location对象

location 相当于浏览器地址栏的抽象, 通过window.location可以访问到,window可以忽略不写

我们学习location对象,目的是为了操作地址栏里面的url地址

3.1 URL

3.1.1 什么是url

概念:统一资源定位符 (Uniform Resource Locator, URL)

通俗理解: 互联网中的地址

3.1.2 URL的组成

  • scheme:通信协议

      常用的http,ftp,maito等
  • host:主机 (找计算机)

      服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。
  • port:端口号 (找软件)

      整数,可选,省略时使用方案的默认端口,如http的默认端口为80。
  • path:路径

      由零或多个'/'符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
  • query:查询

      可选,用于给动态网页传递参数,可有多个参数,用'&'符号隔开,每个参数的名和值用'='符号隔开。
    
      例如:name=zs
  • fragment: 信息片断

      字符串,锚点.

3.2 location有哪些成员?

成员: 属性和方法又叫做成员

  • href 返回地址栏的整个url,设置值的时候,也可以起到跳转页面的作用

  • hash 返回地址栏url的fragment

  • host 返回地址栏url的主机名

  • search 返回地址栏url的键值对参数(query)

  • reload() 设置页面刷新

    语法: location.reload([boolean])

    参数是一个布尔值,不传参数则默认是false. 普通刷新,可能会从缓存拿数据

    传true的话,是强制刷新.强制浏览器去服务器获取数据

  • assign() 设置页面跳转,记录历史

    语法: location.assign('url地址') //点击跳转左上角箭头 可以返回之前

  • replace() 设置页面跳转,不记录历史

    语法:location.replace('url地址')

小结:

  • location对象代表浏览器的地址栏.
  • 学习location的目标主要是为了操作地址栏的url地址
  • 网络中的地址我们称为url

4.history对象

  • back() 返回上一个页面

    语法: history.back();

  • forward() 前进到下一个页面

    语法: history.forward();

  • go(1/-1) 前进/ 返回

    语法: history.go(number);

    正数是前进,负数是后退.

    history.go(1); //前进一步
    history.go(2); //前进两步
    history.go(-3); //后退三步
  • userAgent 返回识别客户端设备和浏览器的字符串

    语法: navigator.userAgent

6. 定时器

6.1 设置定时器

6.1.1 setTimeout()

作用: 到达间隔时间之后,只调用一次回调函数

语法: window.setTimeout(回调函数, 间隔时间)

  • window可以省略
  • 间隔时间以毫秒为单位
  • 返回这个定时器的标识符,是数字类型
// 创建一个定时器,1秒后执行
// timerId指向这个定时器的标识符
var timerId = setTimeout(function () {
  console.log('Hello World');
}, 1000);

6.1.2 setInterval()

作用: 每隔一个间隔时间,就调用一次回调函数

语法: window.setInterval(回调函数, 间隔时间)

  • window可以省略
  • 间隔时间以毫秒为单位
  • 返回这个定时器的唯一标示符,是数字类型
// 创建一个定时器,每隔1秒调用一次
//timerId 指向这个定时器的标识符
var timerId = setInterval(function () {
  var date = new Date();
  console.log(date.toLocaleTimeString());
}, 1000);

6.2 清除定时器

6.2.1 clearTimeout()

作用: 清除以setTimeout方法设置的定时器

语法: widnow.clearTimeout(定时器的标识符) window可以忽略

6.2.2 clearInterval()

作用: 清除以setInterval方法设置的定时器

语法: widnow.clearInterval(定时器的标识符) window可以忽略

小结:

  • 设置定时器 setTimeout 和 setInterval
  • 清除定时器 clearTimeout 和 clearInterval

案例:

倒计时
简单动画

6. 课后综合练习

钟表案例

7. 扩展内容@

7.1 name 和top 的特殊性:

​ name 和 top 是window 对象本身存在的属性

​ name 是字符串,给name赋值为其他类型,也会转换成字符串

​ top 是只读的属性,指向window对象,不可写

注意:

​ 在全局申明变量,不要使用name 或者top

猜你喜欢

转载自www.cnblogs.com/f2ehe/p/11863539.html