JavaScript-Window对象

Window对象

BOM:浏览器对象模型

定时器-延时函数

JavaScript内置的一个用来让代码延迟执行的函数,setTimeout

setTimeout(回调函数,等待的毫秒数);

setTimeout仅仅只执行依次,所以可以理解为就是把一段代码延迟执行,平时省略window

清除延迟函数:

let timer = setTimeout(回调函数,等待的毫秒数);
clearTimeout(timer);

两种定时器的对比

执行次数

  • 延时函数:执行一次
  • 间歇函数:每隔一段时间就执行一次,除非手动清除

JS执行机制

JavaScript 语言的一大特点就是单线程,也就是说,同一时间只能做一件事情

这是因为Javascript 这门脚本语言诞生的使命所致一avaScript 是为处理页面中用户的交互,以及操作
DOM 而诞生的。比如我们对某个 DOM 元素进行添加和删除操作,不能同时进行。应该先进行添加,之后再删除。
单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。这样所导致的问题是: 如
果JS 执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。

为了解决这个问题,利用多核CPU的计算能力,HTML5提出了WebWorker标准,允许JavaScript脚本创建多个线程,于是,JS中出现了同步和异步

执行过程:先执行执行栈中的同步任务,异步任务放入到任务队列中,同步任务执行完毕后再去队列中执行任务队列任务

在这里插入图片描述

事件循环(event loop)

location对象

location的数据类型时对象,它拆分并保存了URL地址的各个组成部分

常用属性和方法:

href 属性获取完成的URL地址,对其赋值时用于地址的跳转

location.herf='https://www.baidu.com';

search属性获取地址中携带的参数,符号?后面部分

location.search

hash属性获取地址中的哈希值,符号#后面部分

baidu.com#/my
location.hash //   #/my

reload():刷新当前页面,传入参数true时,表示强制刷新

//点击按钮,刷新页面
let btn = document.querySelect('button');
btn.addEventListener('click',function(){location.reload(true);//传入参数true  强制刷新页面(类似于ctrl+F5)
})

navigator对象

数据类型时对象,该对象下记录了浏览器自身的相关信息

常用属性和方法

通过userAgent属性检测浏览器的版本及平台

检测浏览器信息:

!(function(){const userAgent = navigator.userAgent;const android = userAgent.match(/(Android);?([¥s¥/]+[¥d.]+)?/);const iphone = userAgent.match(/(iPhone¥sOS)¥s([¥d_]+)/);if(android || iphone){location.href='http://m.itcast.cn';}
})();

histroy对象

histroy的数据类型是对象,主要管理历史记录,该对象与浏览器地址栏的操作相对应,如前进,后退,历史记录等等

常用的属性和方法:

hostroy对象方法作用
back()可以后退功能
forward()前进功能
go(参数)前进或后退功能(1:前进一个页面,-1:后退一个页面)

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

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

相关文章

网络协议疑点记录

1.RIP, OSPF,BGP 首先什么是自治系统:治系统就是几个路由器组成了一个小团体 ?,小团体内部使用专用的协议进行通信,而小团体和小团体之间也使用专用的协议进行通信。 IGP RIP 距离矢量路由算法,bellman-ford算法,每个路由节点知道全局的路由信息,通过和邻居交换信息得…

五.单行函数

单行函数 1.函数的理解1.1什么是函数1.2不同DBMS函数的差异1.3MySQL的内置函数分类 2.数值函数2.1基本函数2.2角度与弧度互换函数2.3三角函数2.4指数与对数2.5进制间的转换 3.字符串函数4.日期和时间函数4.1获取日期、时间4.2日期与时间戳的转换4.3获取月份、星期、星期数、天数…

perl处理base64、md5、SHA-1、SHA-256的计算

使用perl可以进行base64、md5、SHA-1、SHA-256的计算,使用也非常方便,下面是示例代码: #! /usr/bin/perl use v5.14; use MIME::Base64; use Digest;my $test_str hello world;# 测试base64 say encode_base64($test_str);# 测试md5 my $md…

【Copilot】Edge浏览器的copilot消失了怎么办

这种原因,可能是因为你的ip地址的不在这个服务的允许范围内。你需要重新使用之前出现copilot的ip地址,然后退出edge的账号,重新登录一遍,最后重启edge,就能够使得copilot侧边栏重新出现了。

【已解决】ModuleNotFoundError: No module named ‘pandas‘

问题描述 ModuleNotFoundError: No module named ‘pandas’ 解决办法 pip install pandas 完结撒花 熟悉的人相遇,就像久旱等到的甘霖

计算机基础知识66

Auth的补充 #概念:是django 的一个app,关于用户的登录,退出,注册... # 配置文件中配置:表会被迁移 INSTALLED_APPS [django.contrib.auth,] # auth有哪些表---权限控制: Permission:auth_permi…

Java 中连接 SQL 数据库

在 Java 中,连接 SQL 数据库通常使用 JDBC(Java Database Connectivity)。以下是使用 IntelliJ IDEA 连接 SQL 数据库的一般步骤: 1. 引入 JDBC 驱动:首先,你需要下载并引入与你所使用的数据库相对应的 JD…

Linux 导入、导出 MySQL 数据库命令

一、导出数据库 1、导出完整数据:表结构数据 mysqldump -u用户名 -p 数据库名 > 数据库名.sql 举例:以下命令可以导出 abc 数据库的数据和表结构 /usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql2、只导出表结构 mysqldump -u用户名 -p…

用23种设计模式打造一个cocos creator的游戏框架----(十二)状态模式

1、模式标准 模式名称:状态模式 模式分类:行为型 模式意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 结构图: 适用于: 1、一个对象的行为决定于它的状态,并且它必须…

【C语言】字符串函数strcpystrcatstrcmpstrstr的使⽤和模拟实现

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…

OCSP检查数字证书状态详解

文章目录 1. OCSP 的基本原理2. OCSP 的工作流程3. OCSP 的优势和不足4. OCSP Stapling5. OCSP 配置 OCSP(Online Certificate Status Protocol)是一种用于检查数字证书状态的协议。它提供了一种实时查询证书状态的方式,以确定证书是否被吊销…

prototype、__proto__、constructor、原型、原型链

结论: __proto__和constructor属性是对象所独有的; prototype属性是函数所独有的,由于函数也是一种对象,所以函数也拥有__proto__和constructor属性;__proto__属性的作用就是当访问一个对象的属性时,如果该…

C++ 多态性(Polymorphism)和 虚函数(Virtual Functions)

在 C 中,多态性(Polymorphism)是面向对象编程的一个重要概念,它允许通过基类指针或引用来调用派生类对象的特定方法。虚函数(Virtual Functions)是实现多态性的一种机制,通过在基类中声明虚函数…

InputStream和OutputStream速通

InputStream和OutputStream 输入流(InputStream): InputStream是抽象类,用于从各种数据源(如文件、网络连接、内存等)读取字节流。常见的子类包括FileInputStream、ByteArrayInputStream和SocketInputStrea…

电源小白入门学习1——电源系统架构和相关指标

电源小白入门学习1——电源系统架构和相关指标 电源系统架构电源系统的指标及测量方法电源的效率电源的静态电流输出电压调整率纹波测量的注意事项动态负载测试 在开始本期内容之气,我先简单介绍一下我们电源小白学习系列内容:首先我是一个嵌入式小白&am…

【InsCode】新的代码管理工具inscode教程它和Git以及SVN的区别

InsCode 实践分享 InsCodeGitSVN类型代码管理工具分布式版本控制系统集中式版本控制系统分支管理支持强大的分支管理功能,包括创建、合并和删除分支支持分支管理,操作简单快捷支持分支管理,但操作相对复杂代码托管提供代码托管功能&#xff…

在VSCode中运行Python脚本文件时如何传参

以下实验所处的操作系统环境说明: OS版本MacOSMonterey 12.1VSCodeOctober 2023 (version 1.84.2) 一、背景 在 VSCode 中写好 Python 脚本后,如果要运行起来,可以怎么做呢? 一般有以下几种方式: 1、直接在 VSCode…

sentinel整合nacos配置中心持久化

在网上找了很多的资料,发现sentinel整合nacos持久化的博文和视频大多数都只有改造限流部分的教程,并且都需要修改前端,略显麻烦,至于剩下的熔断、热点流控、授权的更是没有相关的改造教程,最后在知乎的看到一篇文章后让…

百科词条可以删除吗?如何删除自己的百度百科?

近日,小马识途营销顾问接到不少客户删除自己百科词条的咨询,有不少人自己并没有去建立百科词条,但是网上已经有了,有的信息不正确,甚至有的信息是负能量的,对当事人自己造成一定的困扰,所以寻求…

pytorch学习4-简易卷积实现

系列文章目录 pytorch学习1-数据加载以及Tensorboard可视化工具pytorch学习2-Transforms主要方法使用pytorch学习3-torchvisin和Dataloader的使用pytorch学习4-简易卷积实现pytorch学习5-最大池化层的使用pytorch学习6-非线性变换(ReLU和sigmoid)pytorc…