定时器+BOM

9.定时器+BOM

1.定时器

**概念:**重复执行一个函数

1.1setInterval()

setInterval(“代码/函数”,时间,参数),返回定时器的序列号,默认从1开始

clearInterval(序列号)清除定时

 <button class="start">开启定时器</button><button class="close">关闭定时器</button><script>// 定时器:重复执行一 个函数  // setInterval("代码/函数",时间,参数)返回定时器的序列号,默认从1开始// clearInterval(序列号) 清除定时// 延时器:延长执行时间,只执行一次 setTimeout// 1.获取domvar start = document.querySelector(".start");var close = document.querySelector(".close");// 2.点击开启定时器var timer;start.onclick = function () {// 开启定时器之前,清除上一次的定时器clearInterval(timer)// 语法1// timer = setInterval("console.log(111)", 1000)// console.log(timer);// 语法2timer = setInterval(function (str) {console.log("你好" + str);}, 1000, '小小易')}// 关闭定时器close.onclick = function () {clearInterval(timer)}

2.延时器

setTimeout:延长执行时间,只执行一次

learTimeout关闭延时器,和上面的定时器使用是一样的

<body><button id="start">开启</button><button id="stop">暂停</button><script>// 1.获取domvar start = document.querySelector("#start")var start = document.querySelector("#stop")// setTimeout 只触发一次// setTimeout 可以使用clearTimeout,clearInterval关闭// setInterval 可以使用 clearTimeout,clearInterval关闭// 2.点击开启按钮,进行开启延时器var timer;start.onclick = function () {// clearTimeout(timer)// 序列号从1开始的timer = setTimeout(function (str) {console.log("你好" + str);}, 3000, "小小易")console.log(timer);}// 3.点击关闭stop.onclick = function () {// clearTimeout(timer)//okclearInterval(timer)//ok}</script>
</body>

3.同步和异步

同步:按照顺序从上到下,一步步的执行

 console.log(111);console.log(222);console.log(333);// 同步输出 111 222 333

异步:可以按照顺序执行,与同步相反

console.log(111);// 被推入执行队列中,等待被执行setTimeout(function () {console.log(222);}, 0)console.log(333);// 异步 输出111 333 222

4.BOM浏览器对象模型

功能:用js操作浏览器的 前进 后退 刷新 打印 关闭 打开等功能

  1. document文档 重点
  2. history 历史(页面访问记录)重点
  3. location地址信息 重点
  4. screen屏幕
  5. navigator 导航
  6. frames 框架

window是BOM的核心对象

window的对象方法:

window 是BOM的核心对象

​ window.setInterval()

​ window.setTimeout()

​ window.clearInterval()

​ window.clearTimeout()

​ window.confirm(“确定?”)

​ window.alert(“提示框”)

​ window.prompt(“输入框”)

​ window.open()

​ window.close()

​ window.print()

4.1open+close()方法+print()

open的三个参数

(1. 要加载的URL 2. 窗口的名称 或者 窗口的目标 3. 一个特性的字符串)top/left表示y坐标和x坐标

<body><button id="btn">打开窗口</button><button id="myClose">关闭窗口</button><button id="myPrint">打印</button><script>btn.onclick = function () {// _parent 父窗口// _self 当前窗口// _blank 新窗口open("http://baidu.com", "_self")// open("http://baidu.com", "标题", "width:400,height:400,left:300,top:200")}myClose.onclick = function () {window.close();}myPrint.onclick = function () {print();}</script>
</body>

4.2 location属性

http默认是80

https默认是443

MySQL默认是3306

计算机有65535个端口号

在这里插入图片描述

location对象的属性
location.hash = ‘#1;	//设置#后的字符串,并跳转
console.log(location.hash);	  //获取#后的字符串
console.log(location.port);	 //获取当前端口号
console.log(location.hostname);   //获取主机名(域名)
console.log(location.pathname);   //获取当前路径(服务器地址后部分)
console.log(location.search);   //获取?后面的字符串
location.href = “http://www.baidu.com”;   //设置跳转的URL,并跳转
location对象的方法
location.assign(‘http://www.baidu.com’);    //跳转到指定的URL, 与href等效
location.reload();      //最有效的重新加载,有缓存加载
location.reload(true);    //强制加载,从服务器源头重新加载
location.replace(“http://www.baidu.com”);  //用新的URL替代,可以避免产生历史记录

4.3编码和解码

encodeURIComponent()编码

decodeURIComponent()解码

   console.log(encodeURIComponent("小易真可爱"));//%E5%B0%8F%E6%98%93%E7%9C%9F%E5%8F%AF%E7%88%B1console.log(decodeURIComponent("%E5%B0%8F%E6%98%93%E7%9C%9F%E5%8F%AF%E7%88%B1"));//小易真可爱console.log(decodeURIComponent(location.pathname));console.log(location.search);//?+queryconsole.log(location.hash);//锚点 做spa 单页面应用程序console.log(decodeURIComponent(location.href));

4.4history

​ back()后退

forward 前进

go() -1 后退 0 刷新 1 前进

4.5navigator

userAgent:该属性可以返回由客
户机发送服务器的user-agent头部的值

        // 当前浏览器的版本信息,操作系统的信息console.log(navigator.userAgent);//重点console.log(navigator.appCodeName);console.log(navigator.appName);console.log(navigator.appVersion);

定位:

      navigator.geolocation.getCurrentPosition(function (pos) {// pos.coords.latitude 纬度// pos.coords.longitude 经度console.log(pos.coords.latitude, pos.coords.longitude);}, function (err) {console.log("获取失败" + err);})

https://lbsyun.baidu.com/jsdemo.htm#bSetGetMapZoom

修改坐标,获取自己在哪

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

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

相关文章

通过Power Platform自定义D365 CE 业务需求 - 3. 使用Microsoft Power应用程序

Microsoft Power Apps是一个用于开发应用程序的无代码、无代码平台。Power应用程序可以在Dataverse之上配置为数据库。尽管您可以连接Salesforce、OneDrive、Dropbox等多种云源,但Dataverse也可以用作内部数据库来构建应用程序,并通过连接器连接其他数据源进行集成。 Power应…

Java开发之Redis核心内容【面试篇 完结版】

文章目录 前言一、redis使用场景1. 知识分布2. 缓存穿透① 问题引入② 举例说明③ 解决方案④ 实战面试 3. 缓存击穿① 问题引入② 举例说明③ 解决方案④ 实战面试 4. 缓存雪崩① 问题引入② 举例说明③ 解决方案④ 实战面试 5. 缓存-双写一致性① 问题引入② 举例说明③ 解决…

内存管理机制

aCoral内存管理机制 aCoral内存管理机制在伙伴系统基础上&#xff0c;采用了位图法方式提高内存分配和回收速度的确定性&#xff0c;更能满足系统实时性的需求。 aCoral内存管理机制分为两级&#xff0c;上一级采用改进的伙伴系统&#xff0c;负责确定要分配的内存的大小&…

数据分析综述

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

C#类与类库调用注意事项

类 创建一个类文件&#xff0c;myfunction.cs //静态类&#xff1a;直接引用、无需实例化 static public int jiafa(int V) //普通类&#xff1a;引用时需要实例化 public int jiafa(int V)using System; using System.Collections.Generic; using System.Diagnostics; using …

ChatGPT追祖寻宗:GPT-2论文要点解读

论文地址&#xff1a;Language Models are Unsupervised Multitask Learners 上篇&#xff1a;GPT-1论文要点解读 在上篇&#xff1a;GPT-1论文要点解读中我们介绍了GPT1论文中的相关要点内容&#xff0c;其实自GPT模型诞生以来&#xff0c;其核心模型架构基本没有太大的改变&a…

Vue中extend基本用法

1.Vue.extend(options) 参数: {Object} options用法&#xff1a; 使用基础Vue构造器&#xff0c;创建一个"子类"。参数是一个包含组件选项的对象。 data选项是特例&#xff0c;需要注意&#xff0c;在Vue.extend()中它必须是函数。 <html><head><tit…

读高性能MySQL(第4版)笔记08_创建高性能索引(上)

1. 索引 1.1. 键&#xff08;key&#xff09; 1.2. 存储引擎用于快速找到记录的一种数据结构 1.3. 当表中的数据量越来越大时&#xff0c;索引对性能的影响愈发重要 1.4. 在数据量较小且负载较低时&#xff0c;缺少合适的索引对性能的影响可能还不明显 1.5. 索引优化是对查…

C#__线程池的简单介绍和使用

/*线程池原理&#xff1a;&#xff08;有备无患的默认备用后台线程&#xff09;特点&#xff1a;线程提前建好在线程池;只能用于运行时间较短的线程。*/class Program{static void Main(string[] args){for (int i 0; i < 10; i){ThreadPool.QueueUserWorkItem(Download); …

【Redis】Redis作为缓存

【Redis】Redis常见面试题&#xff08;2&#xff09; 文章目录 【Redis】Redis常见面试题&#xff08;2&#xff09;1. 缓存2. Redis作为缓存2.1 缓存雪崩2.2 缓存穿透2.3 缓存击穿2.4 缓存雪崩、缓存穿透、缓存击穿的区别2.5 缓存预热2.6 如何保证缓存和MySQL双写一致 【Redis…

Java 设置免登录请求接口被拦截问题

1、在设置免登录时&#xff0c;前端将请求的路由添加到白名单后&#xff0c;请求接口还是被拦截到了&#xff0c;将请求接口也设置后还是会被拦截跳转到登录页面 通过JAVA 注解 Anonymous 进行设置匿名访问就可以了

【Unity编辑器扩展】| 自定义窗口和面板

前言【Unity编辑器扩展】| 自定义窗口和面板一、EditorWindow二、ScriptableWizard三、编辑器绘制3.1 文本输入3.2 空行3.3 滑动条、进度条3.4 枚举选择3.5 其他总结前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介…

华为云云耀云服务器L实例评测|服务器反挖矿防护指南

前言 本文为华为云云耀云服务器L实例测评文章&#xff0c;测评内容是 云耀云服务器L实例 反挖矿防护指南 系统配置&#xff1a;2核2G 3M CentOS7.9 之前的文章中『一文教你如何防御数据库恶意攻击』&#xff0c;我们讲到黑客如何通过攻击数据库来获取权限&#xff0c;以及我们…

pyarmor 加密许可证的使用

一 pyarmor 许可证的用处 文档&#xff1a;5. 许可模式和许可证 — Pyarmor 8.3.6 文档 试用版本有如下的限制&#xff1a; 加密功能对脚本大小有限制&#xff0c;不能加密超过限制的大脚本。 混淆字符串功能在试用版中无法使用。 RFT 加密模式&#xff0c;BCC 加密模式在试…

《确保安全:PostgreSQL安全配置与最佳实践》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

线性代数的本质(十)——矩阵分解

文章目录 矩阵分解LU分解QR分解特征值分解奇异值分解奇异值分解矩阵的基本子空间奇异值分解的性质矩阵的外积展开式 矩阵分解 矩阵的因式分解是把矩阵表示为多个矩阵的乘积&#xff0c;这种结构更便于理解和计算。 LU分解 设 A A A 是 m n m\times n mn 矩阵&#xff0c;…

【网络编程】深入理解TCP协议一(三次握手四次挥手、标记位、确认应答机制、超时重传机制)

TCP协议 1.三次握手四次挥手2.TCP协议段格式3.标记位介绍4.确认应答机制5.超时重传机制 1.三次握手四次挥手 当客户端发起连接请求时&#xff0c;SYN需要被设置位1&#xff0c;告诉服务器客户端希望建立一个链接服务器收到响应之后会回复 SYNACK&#xff0c;表示确认了客户端地…

利用Semaphore实现多线程调用接口A且限制接口A的每秒QPS为10

前段时间在群里面发现有个群友抛出一个实际需求&#xff1a;需要通过一个接口拉取数据&#xff0c;这个接口有每秒10QPS限制&#xff0c;请问如何实现数据拉去效率最大化且限制调用拉取接口每秒10PQPS&#xff1f;我觉得这个需求挺有意思的&#xff0c;跟某群友讨论&#xff0c…

莫比乌斯召回系统介绍

当前召回系统只能召回相关性高的广告&#xff0c;但不能保证该广告变现能力强。莫比乌斯做了如下两点创新&#xff1a; 在召回阶段&#xff0c;引入CPM等业务指标作为召回依据在召回阶段&#xff0c;引入CTR模型&#xff0c;从而召回更多相关性高且变现能力强的广告 参考 百度…

leetcode 26.删除有序数组中的重复项

给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你需要做…