JavaScript进阶知识(BOM)-快速入门篇

Posted Henrik-Yao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript进阶知识(BOM)-快速入门篇相关的知识,希望对你有一定的参考价值。

BOM

BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

1.Window:窗口对象

 Window:窗口对象
    1. 创建
    2. 方法
         1. 与弹出框有关的方法:
            alert()	显示带有一段消息和一个确认按钮的警告框。
            confirm()	显示带有一段消息以及确认按钮和取消按钮的对话框。
                * 如果用户点击确定按钮,则方法返回true
                * 如果用户点击取消按钮,则方法返回false
            prompt()	显示可提示用户输入的对话框。
                * 返回值:获取用户输入的值

demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
<img id="demo" src="images/d.png">
<script>
	//弹窗
    alert("hello window")
    //弹窗带确认和取消
    confirm("您确定要退出吗")
    //弹窗带输入框
    let str = prompt("请输入用户名")
    //获取输入框内容并且弹出
    alert(str)
</script>
</body>
</html>

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

与打开关闭有关的方法:
            close()	关闭浏览器窗口。
                * 谁调用我 ,我关谁
            open()	打开一个新的浏览器窗口
                * 返回新的Window对象

demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
<input id="open" type="button" value="打开百度">
<input id="close" type="button" value="关闭百度">
<script>
	//通过id获取按钮元素
    let demo = document.getElementById("open")
    //定义新弹窗对象
    var newWindow
    //绑定单击事件
    demo.onclick=function (){
    	//单击事件对应的操作
        newWindow=open("https://www.baidu.com/")
    }
    //通过id获取关闭按钮元素
    let demo2 = document.getElementById("close")
    //绑定单击事件
    demo2.onclick=function (){
    	//关闭新窗口
        newWindow.close()
    }
</script>
</body>
</html>

效果
在这里插入图片描述

在这里插入图片描述

与定时器有关的方式
            setTimeout()	在指定的毫秒数后调用函数或计算表达式。
                * 参数:
                    1. js代码或者方法对象
                    2. 毫秒值
                * 返回值:唯一标识,用于取消定时器
            clearTimeout()	取消由 setTimeout() 方法设置的 timeout。

            setInterval()	按照指定的周期(以毫秒计)来调用函数或计算表达式。
            clearInterval()	取消由 setInterval() 设置的 timeout。

demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
<script>
    //一次性定时器
    let id1=setTimeout("fun()",3000)
    //定义定时器对应函数
    function fun(){
        alert("boom~~")
    }
    //取消定时器
    //clearTimeout(id1)
    //循环定时器
    let id2=setInterval(fun,2000)
    //取消定时器
    clearInterval(id2)
</script>
</body>
</html>

效果
在这里插入图片描述

属性
        1. 获取其他BOM对象:
            history
            location
            Navigator
            Screen:
        2. 获取DOM对象
            document

注意

  • Window对象不需要创建可以直接使用 window使用。 window.方法名();
  • window引用可以省略。 方法名();

2.Location地址栏对象

	1. 创建(获取)1. window.location
		2. location

	2. 方法:
		* reload()	重新加载当前文档。刷新
	3. 属性
		* href	设置或返回完整的 URL。

demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
<input type="button" id="btn" value="刷新">
<input type="button" id="btn2" value="我的博客">
<script>
    //reload刷新页面
    let btn = document.getElementById("btn")
    //给btn绑定单击事件
    btn.onclick=function (){
   		//刷新页面
        location.reload()
    }
    //获取href
    let href = location.href
    //弹出获取的内容
    alert(href)
    //跳转
    let btn2 = document.getElementById("btn2")
    //给btn2绑定单击事件
    btn2.onclick=function (){
    	//跳转链接
        location.href="https://blog.csdn.net/qq_50216270"
    }
</script>
</body>
</html>

效果
在这里插入图片描述在这里插入图片描述
自动跳转demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    //设置样式
    <style>
    	//设置p标签样式
        p{
            text-align: center;
        }
        //设置span标签样式
        span{
            color: red;
        }
    </style>
</head>
<body>
    <p>
        <span id="time">5</span>秒之后,自动跳转到首页。。。
    </p>
    <script>
    	//设置倒计时秒数
        var second=5
        //设置倒计时函数
        function showTime(){
        	//每次进入函数都将时间减1s
            second--;
            //当时间减完后自动跳转
            if(second<=0){
                location.href="https://www.baidu.com/"
            }
            //根据id获取span标签内容
            let time=document.getElementById("time")
            //用innerHTML更改span内容
            time.innerHTML=second+""
        }
        //绑定循环函数,每1s调用一遍函数
        setInterval(showTime,1000)
    </script>
</body>
</html>

在这里插入图片描述

3.History:历史记录对象

    1. 创建(获取):
        1. window.history
        2. history

    2. 方法:
        * back()	加载 history 列表中的前一个 URL。
        * forward()	加载 history 列表中的下一个 URL。
        * go(参数)	加载 history 列表中的某个具体页面。
            * 参数:
                * 正数:前进几个历史记录
                * 负数:后退几个历史记录
    3. 属性:
        * length	返回当前窗口历史列表中的 URL 数量。

demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
    <input type="button" id="btn" value="获取历史记录">
    <input type="button" id="forward" value="前进">
    <input type="button" id="back" value="后退">
    <script>
    	//通过id获取按钮元素
        let btn = document.getElementById("btn")
        //绑定单击事件的同时获取历史记录长度
        let length=btn.onclick=history.length
        //弹出历史记录长度
        alert(length)
        //根据id获取前进按钮元素
        let forward = document.getElementById("forward")
        //绑定单击事件
        forward.onclick=function (){
        	//调用前进函数
            history.forward()
            //这里和go函数里面传参数1的用法是一样的
            //==history.go(1)
        }
        //根据id获取back按钮元素
        let back = document.getElementById("back")
        //绑定单击事件
        back.onclick=function (){
        	//调用回退函数
            history.back()
            //这里和go函数里面传参数-1的用法是一样的
            //==history.go(-1)
        }
    </script>
</body>
</html>

效果
在这里插入图片描述

以上是关于JavaScript进阶知识(BOM)-快速入门篇的主要内容,如果未能解决你的问题,请参考以下文章

React.js 新手快速入门 - 进阶篇

C++入门篇(15)之模板知识进阶

C++入门篇(15)之模板知识进阶

c++基础篇——c++快速入门(上)

c++基础篇——c++快速入门(上)

JavaScript基础:BOM的常见内置方法和内置对象