JavaScript中window对象 , location对象以及history对象使用方法详细介绍

news2024/12/23 13:19:40

2.BOM(Browser Object Model)

操作浏览器的。常用的浏览器对象:

1.window对象:Window 对象表示浏览器中打开的窗口。

2.location对象:Location 对象包含有关当前 URL 的信息。Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。

3.history对象:History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。

1.window对象

表示浏览器窗口对象。属于最大的窗口对象,在js中可以使用window对象调用全局函数,属性以及document history location对象。

1.1方法:消息框

【1】弹出框

window.alert(弹出信息);

【2】确认框 掌握

京东购物车删除商品的弹出确认框:

在这里插入图片描述

let result = window.confirm(确认信息);
	说明:
    	1)确认框具有两个按钮:确定  取消
        2)当点击确定按钮,该函数就会返回true
        3)当点击取消按钮,该函数就会返回false
  /*
            【2】确认框
            let result = window.confirm(确认信息);
            说明:
                1)确认框具有两个按钮:确定  取消
                2)当点击确定按钮,该函数就会返回true
                3)当点击取消按钮,该函数就会返回false
         */
        let result = window.confirm('这么好的商品确认删除吗?');
        console.log(result);

在这里插入图片描述

【3】信息提示框

let result =  window.prompt(提示信息,默认值);
	说明:
    	1)信息提示框具有两个按钮:确定  取消
        2)当点击确定按钮,该函数就会返回信息框的值
        3)当点击取消按钮,该函数就会返回null
/*
        【3】信息提示框
            let result =  window.prompt(提示信息,默认值);
            说明:
                1)信息提示框具有两个按钮:确定  取消
                2)当点击确定按钮,该函数就会返回信息框的值
                3)当点击取消按钮,该函数就会返回null
       */
        let result = window.prompt('请输入您的姓名', '柳岩');
        console.log(result);

在这里插入图片描述

1.2定时器

  • 定时器setInterval
let timer = window.setInterval(code, millisec) 按照指定的周期(间隔)来执行函数或代码片段。
	参数1: code 必须写。  执行的函数名或执行的代码字符串。 
	参数2: millisec 必须写。时间间隔,单位:毫秒。
window可以理解为浏览器窗口。后面会讲解。
timer 返回值:一个可以传递给 window.clearInterval(定时器的返回值) 从而取消对 code 的周期性执行的值。
在关闭定时器时需要使用定时器的返回值作为参数,否则不知道关闭哪个定时器。
例如:
方式:函数名 , 	setInterval(show, 100);  √ show 表示函数名,100表示每隔100豪秒执行这个函数。

案例:

需求:开启一个定时器,每隔1秒钟输出一次 hello world。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="text/javascript">
        /*
            1.定时器
            let 返回值 = window.setInterval(调用函数,时间间隔属于毫秒);
            2.取消定时器
            window.clearInterval(定时器返回值);
         */
        //需求:开启一个定时器,每隔1秒钟输出一次 hello world。
        /*
            第一个参数表示匿名函数,传递给setInterval函数底层,底层负责调用,我们只需要书写函数体传递即可
            第二个参数:表示时间间隔单位是毫秒
         */
       /* window.setInterval(function () {
            console.log('hello world');
        }, 1000);*/

        //需求:定时器执行一次hello world就取消定时器
        let timer = window.setInterval(function () {
            console.log('hello world');
            // 取消定时器 timer 表示上述定时器的返回值,执行一次匿名函数体代码之后再执行该代码进行取消定时器
            window.clearInterval(timer);
        }, 1000);
        //取消定时器 timer 表示上述定时器的返回值
        //window.clearInterval(timer);
    </script>
</body>
</html>
  • 定时器setTimeout
window.setTimeout(code,millisec)
参数:
code  必需。要调用的函数。 
millisec 必需。在执行代码前需等待的毫秒数。
注意:
该定时器只执行一次

需求:开启一个定时器 1秒之后输出Hello world,并且只输出一次。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="text/javascript">
        /*
            需求:开启一个定时器 1秒之后输出Hello world,并且只输出一次。
         */
        //window.setTimeout(code,millisec)
        window.setTimeout(function () {
            console.log('hello world');
        }, 1000);
    </script>
</body>
</html>

小结:

定时器setTimeout(匿名函数,毫秒)页面加载完成过指定的毫秒之后在执行,并且只执行一次.

setInterval()定时器,如果不取消就会一直执行

1.3案例_定时切换图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript演示</title>
</head>
<body>



<input type="button" onclick="on()" value="开灯">
<img id="myImage" border="0" src="../imgs/off.gif" style="text-align:center;">
<input type="button" onclick="off()" value="关灯">


<script>

    function on(){
        document.getElementById('myImage').src='../imgs/on.gif';
    }

    function off(){
        document.getElementById('myImage').src='../imgs/off.gif'
    }
    var x = 0;

    // 根据一个变化的数字,产生固定个数的值; 2  x % 2     3   x % 3
    //定时器
    setInterval(function (){

        if(x % 2 == 0){
            on();
        }else {
            off();
        }

        x ++;

    },1000);

</script>

</body>
</html>

2 Location对象(理解)

1.window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

2.对于location对象的属性说明:

在这里插入图片描述

例如URL: http://127.0.0.1:8020/day03/定时弹广告/05.location.html?__hbt=150384448335#abc

属性对应的值
hash:#abc
host:127.0.0.1:8020
hostname:127.0.0.1
href:http://127.0.0.1:8020/day03/定时弹广告/05.location.html?__hbt=1503844483351#abc,同时也可以跳转到新的url
pathname:/day03/定时弹广告/05.location.html
port:8020
protocol:http:
search:?__hbt=150384448335

需求:设置location的href值来实现窗口的跳转。

就是在页面加载的时候直接访问http://www.baidu.com

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="text/javascript">
        /*
            需求:设置location的href值来实现窗口的跳转。
            就是在页面加载的时候直接访问http://www.baidu.com
         */
        window.location.href = 'http://www.baidu.com';


    </script>
</body>
</html>

小结:

location对象表示浏览器url地址,有一个比较重要的属性是href,可以实现跳转到其他服务器。

3.History对象(理解)

在这里插入图片描述

1.window.history 对象包含浏览器的历史。表示浏览器的历史记录对象。

2.window.history对象在编写时可不使用 window 这个前缀。就是我们在使用的时候可以不写window对象

3.History对象常见的函数:

1.history.back() - 与在浏览器点击后退按钮相同  后退一步
2.history.forward() - 与在浏览器中点击按钮向前相同  前进一步
3.history.go(整数) 如果参数是正整数那么就是前进,如果参数是负整数就是后退。
	举例:
    	 1  前进一步 2  前进2步。 。。。
        -1  后退一步 -2 后退2步。。。。

4.代码实现:

【1】需求:

在这里插入图片描述

【2】技术点

点击事件:onclick,使用格式:

标签对象.onclick = function(){
    js代码
}

【3】步骤

1.创建三个html页面

2.在a页面中书写a标签跳转到b页面,同时定义一个按钮,给按钮绑定单击的js事件,实现前进

3.在b页面中书写a标签跳转到c页面,同时定义两个按钮,给按钮绑定单击的js事件,实现后退和前进

4.在c页面定义一个按钮,给按钮绑定单击的js事件,实现后退

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>a页面</title>
</head>
<body>
<!--2.在a页面中书写a标签跳转到b页面,同时定义一个按钮,给按钮绑定单击的js事件,实现前进-->
<a href="b.html">到b页面</a>
<button id="btn">-></button>
<script type="text/javascript">
    //1.获取上述标签对象
    let oBtn = document.getElementById('btn');
    //2.使用标签对象调用单击事件
    oBtn.onclick = function () {
        //前进到b页面
        // history.forward();
        history.go(2);//前进2步
    };
</script>
</body>
</html>



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>b页面</title>
</head>
<body>
<!--3.在b页面中书写a标签跳转到c页面,同时定义两个按钮,给按钮绑定单击的js事件,实现后退和前进-->
<a href="c.html">到c页面</a>
<button id="btn1"><-</button>
<button id="btn2">-></button>
<script type="text/javascript">
    //1.实现后退
    document.getElementById('btn1').onclick = function () {
        history.back();
    };
    //2.实现前进
    document.getElementById('btn2').onclick = function () {
        history.forward();
    }
</script>
</body>
</html>
    
    
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>c页面</title>
</head>
<body>
    <!--4.在c页面定义一个按钮,给按钮绑定单击的js事件,实现后退-->
    <button id="btn"><-</button>
    <script type="text/javascript">
        //实现后退
        document.getElementById('btn').onclick = function () {
            history.back();
        };
    </script>

</body>
</html>

小结:

1.history对象表示浏览的历史记录对象

2.history对象中的常见函数:

1.back()后退一步
2.forward()前进一步
3.go(参数)正数 前进  负数 后退

3.给某个标签绑定点击事件:

标签对象.onclick=function(){
    
}

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

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

相关文章

[PyTorch]:加速Pytorch 模型训练的几种方法(几行代码),最快提升八倍(附实验记录)

本篇文章转自&#xff1a;Some Techniques To Make Your PyTorch Models Train (Much) Faster 本篇博文概述了在不影响 PyTorch 模型准确性的情况下提高其训练性能的技术。为此&#xff0c;将 PyTorch 模型包装在 LightningModule 中&#xff0c;并使用 Trainer 类来实现各种训…

使用 Python 五年后,我发现学 python 必看这三本书!少走一半弯路

第一本 《Python编程-从入门到实践》 适合零基础的读者 豆瓣评分&#xff1a;9.1 推荐指数&#xff1a;5颗星 推荐理由&#xff1a; 本书是针对所有层次的 Python 读者而作的 Python 入门书。全书分为两部分&#xff1a; 第一部分介绍使用Python 编程所必须了解的…

将excel表格转换为element table(上)

最近有个功能需要将excel展示到html 界面里面&#xff0c;看是简单的一个需求也是需要费尽心思才完得成 原始数据 想要把excel 读取出来&#xff0c;于是使用xlsl的插件 npm i xlsx通过插件可以获取到已经分析好的数据 然后使用sheet_to_html将数据转换为html 再使用v-htm…

ROS2 RQT

1. RQT是什么 RQT是一个GUI框架&#xff0c;通过插件的方式实现了各种各样的界面工具。 强行解读下&#xff1a;RQT就像插座&#xff0c;任何电器只要符合插座的型号就可以插上去工作。 2.选择插件 这里我们可以选择现有的几个RQT插件来试一试&#xff0c;可以看到和话题、参…

视频太大怎么压缩变小?6款视频压缩软件免费版分享

视频太大怎么压缩得又小又清晰呢&#xff1f;无论是视频文件传输、视频文件存储&#xff0c;还是进行自媒体视频上传&#xff0c;都对视频文件的大小有一定的限制。高质量的视频文件往往伴随着文件占据大量存储空间&#xff0c;导致文件传输速度变慢。今天教大家6种视频压缩软件…

配置WLAN 示例

规格 仅AR129CVW、AR129CGVW-L、AR109W、AR109GW-L、AR161W、AR161EW、AR161FGW-L、AR161FW、AR169FVW、AR169JFVW-4B4S、AR169JFVW-2S、AR169EGW-L、AR169EW、AR169FGW-L、AR169W-P-M9、AR1220EVW和AR301W支持WLAN-FAT AP功能。 组网需求 如图1所示&#xff0c;企业使用WLAN…

搜维尔科技:数据手套为什么要选择SenseGlove

了解 SenseGlove SenseGlove 是一支由电子工程师、触觉研究人员和计算机视觉专家、XR 开发人员、UX 设计师和产品创新者组成的科幻爱好者团队&#xff0c;他们拥有丰富人类能力和赋予 Metaverse 意义的技能和热情。 推进触觉技术是我们实现这一目标的方式。 公司及产品背景 S…

将多个SQL查询合并的两种方式

说明&#xff1a;单个简单查询是非常容易的&#xff0c;但是为了避免多次访问访问数据库&#xff0c;我们会尽可能通过表关联将业务所需要的字段值一次性查出来。而有时候不太清楚表之间的关联关系&#xff08;这取决于对业务的熟悉程度&#xff09;&#xff0c;或者实际情况就…

ubuntu 安装并启用 samba

环境&#xff1a;ubuntu server 24.04 步骤如下&#xff1a; sudo apt update sudo apt install samba修改配置文件&#xff1a; sudo vi /etc/samba/smb.conf新增内容&#xff1a; [username]path /home/[username]available yesvalid users [username]read only nobrow…

2021强网杯

一、环境 网上自己找 二、步骤 2.1抛出引题 在这个代码中我们反序列&#xff0c;再序列化 <?php$raw O:1:"A":1:{s:1:"a";s:1:"b";};echo serialize(unserialize($raw));//O:1:"A":1:{s:1:"a";s:1:"b";…

RFID技术在粉末涂料配料生产线的精准应用

RFID技术在粉末涂料配料生产线的精准应用 应用背景 随着科技的快速发展&#xff0c;智能化、自动化已经成为现代工业生产的重要趋势。RFID&#xff08;无线射频识别&#xff09;技术以其独特的优势&#xff0c;如非接触式识别、高速读取、大容量数据存储等&#xff0c;在多个…

206.贪心算法:摆动序列(力扣)

代码展示 class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size(); // 如果数组长度小于等于1&#xff0c;返回数组长度int curdiff 0; // 当前元素和前一个元素的差值int prediff 0; // 前一个差值int…

品牌推广怎么样?掌握正确做法,让品牌大放异彩!

品牌推广对于初创公司来说是一项至关重要的任务。在市场众多品牌中&#xff0c;如何脱颖而出&#xff0c;是每个品牌方都要考虑的问题。 作为一名手工酸奶品牌的创始人&#xff0c;目前全国复制了100多家门店&#xff0c;我来分享下&#xff0c;如何推广&#xff0c;可以让品牌…

Git 基础-创建版本库 git init、添加到暂存区git add、查看状态git status、查看改动git diff

1.创建版本库 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做&#xff0c;完全是本地化的。 在目录中执行 git init&#xff0c;就可以创建一个 Git 仓库了。 注意: 没事不要手动修改 .git 目录里面的文件&#xff0c;不然改乱了&#xff0c;可能就…

zabbix“专家坐诊”第244期问答

问题一 Q&#xff1a;请教一下&#xff0c;我的zabbix6.0配置的基于snmptrap上报的日志提取关键字推送告警&#xff0c;正则表达式能否帮忙看看怎么弄&#xff1f;我这配置的提示一直不正确&#xff1f; A&#xff1a;具体看一下这里的信息。 Q&#xff1a;这个我是直接复制的…

亚马逊卖家专属ERP系统,无任何隐形FY。

三千多终身使用的ERP&#xff0c;图片翻译、文本图片翻译&#xff0c;无任何隐藏fy&#xff0c;不限制授权店铺&#xff0c;不限制开通子账号。 现在来讲下我们店飞飞ERP的铺货功能。 点击数据采集&#xff0c;选择需要的产品&#xff0c;可以批量编辑、批量编辑价格、一键翻…

权限控制信息

查看权限控制信息 修改权限控制信息 chmod命令 作用&#xff1a;修改文件、文件夹的权限细节&#xff0c;即第一图中序号1的部分。只能是文件、文件夹所属用户或root用户有权修改。 语法&#xff1a;chmod [-R] 权限 文件或文件夹 选项&#xff1a; -R&#xff0c; 对文件夹内…

如何申请小牛翻译API,超简单哦~~~

1.【注册】或【登录】小牛翻译官网账号。 账号注册成功后&#xff0c;小牛翻译每天提供免费的100积分&#xff0c;积分是全平台通用的&#xff0c;100积分相当于20万字符/34个文档/34张图片/25次语音翻译。&#xff08;在线翻译和API服务均可用哦~&#xff09; 2.登录账号后&a…

非平稳信号的时频表示-基于本征模态函数(MATLAB)

时频分析思想萌芽于匈牙利物理学家 Gabor 在 1946 年所提出的 Gabor 展开理论&#xff0c;随后以此为基础发展出著名的线性时频变换方法—短时傅里叶变换。短时傅里叶变换假设分析信号在有限时长内具有平稳特性&#xff0c;它首先将时间与频率均为有限支撑的窗函数与分析信号进…

六西格玛培训:不只是理论,更是实战中的利器——张驰咨询

六西格玛作为一种强大的流程改进和质量管理工具&#xff0c;其应用范围已经远远超出了传统制造业的界限&#xff0c;逐步渗透到金融业、互联网以及新能源等前沿领域。以下张驰咨询将结合之前的分析&#xff0c;展示六西格玛培训在这些行业中的成功案例及其带来的深远影响。 制造…