BOM

文章目录

  • 1. BOM概述
    • 1.1 什么是BOM
    • 1.2 BOM构成
  • 2. window 的常见对象
    • 2.1 窗口加载事件
    • 2.2 调整窗口大小事件
  • 3. 定时器
    • 3.1 setTimeout()
    • 3.2 停止 setTimeout() 定时器
    • 3.3 setInterval()
      • *案例--倒计时效果
    • 3.4 清除setInterval() 定时器
      • *案例--发送短信
    • 3.5 this 指向问题
  • 4. JS 执行机制
    • 4.1 JS是单线程
    • 4.2 同步和异步
      • (1) 同步任务
      • (2) 异步任务
    • 4.3 JS执行机制
  • 5. location 对象
    • 5.1 什么是location 对象
    • 5.2 URL
    • 5.3 location 对象属性
      • *案例--5s之后自动跳转页面
      • *案例--获取URL参数
    • 5.4 location 对象的方法
  • 6. navigator 对象
  • 7. history 对象

1. BOM概述

1.1 什么是BOM

在这里插入图片描述
在这里插入图片描述
DOM区域划分:
在这里插入图片描述
BOM区域划分:
在这里插入图片描述

1.2 BOM构成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意;
声明变量时最好不要用name ,因为window 下的一个特殊属性为window.name。

2. window 的常见对象

一般情况下,我们会将js 代码放在html 语言的下面,因为有了html 元素才能执行js 代码;但是学习了窗口加载事件就可以实现把js 代码写在html 语言前面的情况。

2.1 窗口加载事件

  1. onload在这里插入图片描述
    在这里插入图片描述
  2. DOMContentLoaded–适用于页面中图片元素特别多的时候(有兼容性)在这里插入图片描述

2.2 调整窗口大小事件

在这里插入图片描述
在这里插入图片描述

3. 定时器

3.1 setTimeout()

在这里插入图片描述
在这里插入图片描述

注意:

  1. setTimeout() 属于window ,可以直接调用;
  2. 延时时间单位是毫秒,可以省略,默认值为0;
  3. 调用函数可以直接写函数,还可以写函数名,也可以写函数名()(但不提倡这种写法);
  4. 页面中可能有很多定时器,我们经常给定时器加标识符(名字)

3.2 停止 setTimeout() 定时器

在这里插入图片描述

3.3 setInterval()

在这里插入图片描述
在这里插入图片描述
两种定时器的区别:
前者在过了延时时间后会执行回调函数,只调用一次;
后者每隔延时时间就执行一次回调函数,可以调用无数次。

*案例–倒计时效果

在这里插入图片描述
在这里插入图片描述

3.4 清除setInterval() 定时器

在这里插入图片描述

注意:
timer 一开始定义的是null 对象;而不是不赋值,定时器也是一个对象,在后面对timer 赋值也更合适
在这里插入图片描述

*案例–发送短信

在这里插入图片描述

3.5 this 指向问题

一般情况下,this 指向调用他的那个对象。

  1. 在这里插入图片描述
    在这里插入图片描述
  2. 在这里插入图片描述
  3. 在这里插入图片描述

4. JS 执行机制

4.1 JS是单线程

在这里插入图片描述
例如以下代码:
中间的定时器需要时间才能执行完毕,后面的代码需要等待,这是一个问题,需要解决!
在这里插入图片描述

4.2 同步和异步

同步和异步就可以解决前面提出的问题!
在这里插入图片描述

  1. 同步
  2. 异步在这里插入图片描述
    同步和异步本质区别:在流水线上各个流程的执行顺序不同。

(1) 同步任务

在这里插入图片描述
打印结果:
1
2
3
在这里插入图片描述

(2) 异步任务

在这里插入图片描述

4.3 JS执行机制

在这里插入图片描述
举例解释:
在这里插入图片描述
主线程中执行
在这里插入图片描述

第二步代码只有在鼠标点击了之后才会将函数加载到任务队列中!

5. location 对象

5.1 什么是location 对象

在这里插入图片描述

5.2 URL

在这里插入图片描述

5.3 location 对象属性

在这里插入图片描述

*案例–5s之后自动跳转页面

在这里插入图片描述

注意:
定时器对象在页面刷新时个了几秒后才出现,对此我们的解决方法是:将定时器对象的函数部分放入自定义的函数中,(即在执行程序时函数会先会准备好,定时器就会直接执行,舒心是就不会有时间间隔)

*案例–获取URL参数

URL参数:URL中?之后的内容就是URL参数。

第二个页面数据使用第一个页面数据需要使用location.search 参数
location.search :
在这里插入图片描述
怎样去掉‘?’在这里插入图片描述
利用 = 把字符串分割为数组
在这里插入图片描述
接着把数据写入第二个页面中
效果展示:
在这里插入图片描述

在这里插入图片描述

5.4 location 对象的方法

在这里插入图片描述
在这里插入图片描述

6. navigator 对象

navigator 对象可以判断页面是在pc端还是web端
在这里插入图片描述
在这里插入图片描述

7. history 对象

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉搜索树题目:恢复二叉搜索树

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题:恢复二叉搜索树 出处:99. 恢复二叉搜索树 难度 5 级 题目描述 …

西门子PLC常用底层逻辑块分享_单/双输出电机

文章目录 前言一、功能概述二、单输出电机程序编写1.创建自定义数据类型2.创建FB功能块“单输出电机”3.编写程序 三、双输出电机程序编写1.创建自定义数据类型2.创建FB功能块“双输出电机”3.编写程序 前言 本文分享一个自己编写的电机控制逻辑块。 一、功能概述 手动状态、…

2024年1月粮油调味行业分析(TOP品牌/店铺/商品销售数据分析)

鲸参谋监测的某东1月份粮油调味市场销售数据已出炉! 根据鲸参谋电商数据分析平台显示,今年1月份,某东平台上粮油调味品的销量约6200万件,环比上个月增长45%,同比去年下滑15%;销售额约25亿元,环…

Android 监听卫星导航系统状态及卫星测量数据变化

源码 package com.android.circlescalebar;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import android.Manifest; import android.conte…

后渗透--利用ebpf隐藏后门用户

原理 首先我们要搞清楚ssh登陆的流程 先获取到ssh的pid 然后利用strace strace -f -p 830可以看到他打开了/etc/passwd去读取内容 那么我们的思路就很简单,hook ssh进程的read syscall exit,然后篡改返回内容 代码 ebpf // build ignore#include "my…

LeetCode2115. 从给定原材料中找到所有可以做出的菜

拓扑排序 题面 题目链接:2115. 从给定原材料中找到所有可以做出的菜 - 力扣(LeetCode) 你有 n 道不同菜的信息。给你一个字符串数组 recipes 和一个二维字符串数组 ingredients 。第 i 道菜的名字为 recipes[i] ,如果你有它 所有…

html5cssjs代码 018颜色表

html5&css&js代码 018颜色表 一、代码二、效果三、解释 这段代码展示了一个基本的颜色表&#xff0c;方便参考使用&#xff0c;同时也应用了各种样式应用方式。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><title>编程笔记…

速卖通安全测评补单技术提升运营安全性

对于一个新品来说&#xff0c;最大的问题就是评论。没有评论&#xff0c;你的广告就不能打的很靠前&#xff0c;那样你的转化率就会非常低&#xff0c;数据也很差。新品运气不好的来两个一星差评&#xff0c;链接可能就此废掉&#xff0c;做不上去了。所以虽然平台管的非常的严…

智能工厂核心功能系统-MES生产管理系统

MES在未来智能制造中扮演着至关重要的角色&#xff0c;通过其在生产管理中的应用&#xff0c;将帮助企业实现智能化转型&#xff0c;提升生产效率和产品质量&#xff0c;推动整个制造业向着更加智能、高效、可持续的方向发展。 通过对MES在未来智能制造发展趋势中的地位进行深…

分布式系统互斥性与幂等性问题的分析解决

前言 随着互联网信息技术的飞速发展&#xff0c;数据量不断增大&#xff0c;业务逻辑也日趋复杂&#xff0c;对系统的高并发访问、海量数据处理的场景也越来越多。 如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题&#xff0c;系…

Redis持久化和集群

redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…

一个八年工作经验老程序员的分享

作为一个 Java 程序员&#xff0c;我在这个行业中工作了多年。在这个过程中&#xff0c;我经历了许多挑战和机遇&#xff0c;也学到了很多宝贵的经验和教训。在这篇文章中&#xff0c;我想分享一些我的感想和思考&#xff0c;希望能够对其他 Java 程序员有所帮助。 一、技术的…

Go语言简介

一.Go语言简介 1.1 优点 自带gc静态编译&#xff0c;编译好后&#xff0c;扔服务器直接运行简单思想&#xff0c;没有继承&#xff0c;多态和类等丰富的库和详细开发文档语法层支持并发&#xff0c;和拥有同步并发的channel类型&#xff0c;使并发开发变得非常方便简洁语法&am…

JAVA 服务可观测性最佳实践

前言 本次实践主要是介绍 Java 服务通过无侵入的方式接入观测云进行全面的可观测。 环境信息 系统环境&#xff1a;Ubuntu&#xff08;主机环境&#xff09;开发语言&#xff1a;JDK 11.0.18Web 框架&#xff1a;SpringBoot日志框架&#xff1a;LogbackAPM 探针&#xff1a;…

【linux深入剖析】操作系统与用户之间的接口:自定义简易shell制作全过程

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1.shell2.自定义shell的准…

x86_64架构栈帧以及帧指针FP

文章目录 一、x86_64架构寄存器简介二、x86_64架构帧指针FP三、示例四、保存帧指针参考资料 一、x86_64架构寄存器简介 在x86架构中&#xff0c;有8个通用寄存器可用&#xff1a;eax、ebx、ecx、edx、ebp、esp、esi和edi。在x86_64&#xff08;x64&#xff09;扩展中&#xff…

第八届蓝桥杯省赛 分巧克力(二分)

题目描述&#xff1a; 思路&#xff1a; 给出N个长方形的长和宽&#xff0c;可以分别看长能被分成多少块&#xff0c;宽能被分为多少块&#xff0c; 也就是 (h/mid) * (w/mid),使其大于等于K 所以我们可以通过二分去找&#xff0c;最大的边长是多少 AC代码&#xff1a; #inc…

深度学习技巧总结

1、监控GPU使用情况 pip install nvitopnvitop -m fullhttps://zhuanlan.zhihu.com/p/577533593 2、本地拉取服务器上tensorboard数据并进行可视化显示 https://blog.csdn.net/Thebest_jack/article/details/125609849 3、服务器打不开pycharm软件 这个是已经有一个软件在运…

SD-WAN解决企业云网融合问题

随着市场竞争不断加剧&#xff0c;企业在提升业务的同时也面临着新兴业务需求的涌现。数字化发展的关键路径包括上云、跨云、云迁移&#xff0c;而广域网连接已不再仅限于总部和分支机构之间。为应对企业云转型对网络架构提出的更高要求&#xff0c;SD-WAN成为企业解决云网融合…

【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …