前端自学学习笔记——JS(BOM)

本文详细介绍了浏览器对象模型(BOM)中的window对象事件,包括onload和onresize,以及定时器setTimeout和setInterval的使用。同时,讲解了this的指向规则和JS执行机制。此外,还涉及location对象的属性和方法,如href、assign、replace、reload,以及navigator和history对象的相关知识。通过对这些概念的理解,读者能够更好地掌握浏览器交互和页面控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端自学学习笔记——JS(BOM)

第一章 BOM简介

BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。BOM将浏览器中的各个部分转换成了一个一个的对象, 我们通过修改这些对象的属性,调用他们的方法,从而控制浏览器的各种行为。

BOM提供了独立于内容与浏览器窗口进行交互的对象,核心对象是window。

window对象是浏览器的顶级对象,是JS访问浏览器窗口的一个接口,是一个全局对象(全局变量、函数是window对象的属性和方法)。

第二章 window对象的常见事件

2.1 窗口加载事件(window.onload)

当文档内容(图像、脚本文件、css、falsh等)全部加载完会触发该事件。

使用传统注册方式window.onload只能写一次,若有多个,以最后一个为准;使用window.addEventListener(‘load’,function(){})则无限制。

document.addEventListener(‘DOMContentLoaded’,function(){})常用于图片多的页面;DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等。

2.2 调整窗口大小事件(window.onresize)

只要窗口大小像素发生了变化,就会触发该事件。利用该事件完成响应式布局。

window.innerWidth:当前屏幕宽度

window.innerHeight:当前屏幕高度

第三章 定时器

3.1 setTimeout()定时器

开启定时器语法:window.setTimeout(回调函数[,延迟的毫秒数])

停止定时器语法:window.clearTimeout(定时器标识符)

设置一个定时器,在定时器到期后执行回调函数,只调用一次

注:页面中可能有多个定时器,记得给每个定时器加标识符

3.2 setInterval()定时器

开启定时器语法:window.setInterval(回调函数[,延迟的毫秒数])

停止定时器语法:window.clearInterval(定时器标识符)

重复调用一个函数,每隔这个时间,就调用一次回调函数。

3.3 this指向

一般情况下,this的最终指向时那个调用它的对象

  1. 全局作用域或普通函数中,this指向全局对象window(定时器中也是)。
  2. 方法调用中,谁调用this就指向谁。
  3. 构造函数中,this指向构造函数的实例。

第四章 JS执行机制

  1. JS是单线程的,同一时间只能做一件事情。

  2. HTML5提出Web Worker标准,允许JS创建多线程(同步、异步)。

  3. 同步任务:在主线程上执行,形成一个执行栈。

  4. 异步任务:通过回调函数实现,添加在任务队列中,常见有:普通事件、资源加载、定时器。

  5. 执行顺序:①先执行执行栈中的同步任务。

    ​ ②异步任务(回调函数)放入任务队列中

    ​ ③一旦执行栈中的所有同步任务执行完毕,系统会按次序读取任务队列中的异步任务,将异步任务放入执行栈中,开始执行。

  6. 事件循环Eventloop:主线程不断重复获得任务,执行任务,再获取任务,再执行。异步进程处理失败异步任务是否调用,再放入异步队列中。

第五章 location对象

location对象是window对象提供的一个属性,用于获取或设置窗体的URL,并可用于解析URL,由于返回值为一个对象,所有成为location对象。

5.1 URL组成
protocol://host[:port]/path/[?query]#fragment
通信协议    主机   端口   路径   参数    片段
注:默认端口为8080
5.2 location对象属性
location对象属性含义
location.href获取或设置整个URL
location.host返回主机名(域名)
location.port返回端口号,若未写,返回空串
location.pathname返回路径
location.search返回参数
location.hash返回片段
5.3 location对象方法
location对象方法含义
location.assign可以跳转页面,能后退
location.replace可以跳转页面,不能后退
location.reload重新加载页面,相当于刷新;若无参数或为false直接刷新,为true强制刷新。

第六章 navigator对象

navigator对象包含浏览器有关的信息,常用userAgent属性,该属性返回由客户机发送服务器的user-agent头部的值。

使用navigator.userAgent判断用户哪个终端打开页面。

第七章 history对象

history对象与浏览器历史记录进行交互,该对象包含用户在浏览器窗口中访问过的URL。

history对象方法含义
back()后退
forward()前进
go()前进后退。参数为正表示前进,参数为负表示后退。

如果觉得对你有帮助的话,点个赞呗~

如需转载,请注明出处Hoki802

FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hoki802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值