BOM思维导图

发布于:2022-11-27 ⋅ 阅读:(311) ⋅ 点赞:(0)


BOM

一、BOM

1、什么是BOM?

Browser Object Model: 浏览器对象模型

2、作用:

(1)可以操作浏览器窗口及浏览器窗口中的控件(标签):即可以在JavaScript程序中操作标签

(2)实现页面和用户之间的动态交互

3、浏览器对象:一系列浏览器内置对象的统称

4、 浏览器对象模型:内置对象之间按照某种层次组织起来的结构

二、BOM对象

1、window对象:浏览器窗口对象,是BOM的核心,BOM的其他内置对象可以作为window的属性

2、document对象:文档对象,是DOM的核心

3、location对象:地址对象。浏览器的地址栏

4、history对象:历史对象。浏览器的访问记录,可以实现前进和后退。

5、navigator对象:浏览器对象,又称为浏览器的嗅探器。通过它可以得到浏览器的版本信息、名称、内核等信息

6、screen对象:屏幕对象。用于获取和屏幕有关的数据。例如屏幕分辨率

三、window对象:可以作为BOM其他对象的父对象

1、全局作用域:在javascript中定义的变量、函数及JavaScript的内置函数都可以被window对象调用

2、注意的问题:

(1)window对象的属性和方法的访问:window.属性名 / window.方法名() —- window可以省略

(2)在全局作用域中使用的this代表window对象

(3)若使用“window.变量名”访问某个未声明的变量时,该变量就是undefined

3、常用方法:

(1)alert(‘字符串’):弹出消息提示框(只有一个按钮)

(2)prompt(参数1,参数2):带输入的消息框

参数1:表示提示的字符串

参数2:表示输入框的默认值

当用户点击’确定’按钮时,函数返回用户输入的数据;当用户点击’取消’按钮时,不返回值

(3)confirm(参数):确认消息框

参数:表示提示字符串

当用户点击“确定”按钮时,返回true,点击“取消”按钮时,返回false

(4)open(url,name,spaces,replace):打开一个窗口。表示将url代表的页面在name窗口中打开

url:页面地址

name:表示窗口对象

_blank:在新窗口中打开页面

_self:在当前窗口中打开页面

_parent:表示在父框架中打开页面

spaces:表示窗口特征(大小、是否状态栏、是否有工具栏)

replace:默认值为true,表示是否替换默认条目

内联框架:ifrme

四、定时器函数

1、setTimeout(fn,times):间隔times毫秒后执行fn函数

参数fn:是一个函数

参数times:间隔的时间,单位是毫秒

函数的返回值是一个定时器对象

2、清除setTimeout创建的定时器

clearTimeout(定时器对象)

3、setInterval(fn,times):每间隔times毫秒后执行fn函数

4、clearInterval(定时器对象):清除setInterval创建的定时器

五、事件处理

1、事件:用户在页面中进行的某种操作

(1)单击事件名:click —- onclick

(2)页面加载事件名:load —- onload

2、事件处理程序:某个事件发生时执行的程序

3、document对象获取页面元素(标签)的方法:

(1)getElementById(标签的Id属性值):浏览器都支

(2)querySelector()

a、通过id选择:document.querySelector(‘#id’)

b、通过class选择:document.querySelector(‘.class’)

c、通过标签名选择:document.querySelector(‘标签名’)

4、事件监听:

(1)直接在标签中监听:

<button οnclick="show()">开始</button> //监听click事件<body οnlοad=""> //监听页面的加载事件load

(2)在JavaScript程序中调用addEventListener函数来注册

控件名.addEventListener(‘事件名’,fn)

参数fn:是一个函数,表示事件处理程序

六、标签的属性:

1、innerHTML属性:代表标签的html内容(代表起始标签和结束标签之间的内容)

练习:倒计时

<style>    
#app{        
        width: 800px;        
        height: 200px;        
        color: red;        
        font-size: 20px;        
        margin: 10px auto;    
    }
</style>
<body>    
    <div id="app"></div>    
<script>        
    //1.定义定时器函数        
    function showTime(){            
    let start = new Date() //当前日期            
    let end = new Date('2023-1-1')            
    let times = end - start            
    let d = parseInt(times/1000/60/60/24)                   d = d<10? '0'+d : d            
    let h = parseInt(times/1000/60/60%24)                   h = h<10? '0'+h : h            
    let m = parseInt(times/1000/60%60)                        m = m<10? '0'+m : m            
    let s = parseInt(times/1000%60)                
        s = s<10? '0'+s : s            
        let str = `距离2023年元旦还有:${ d }天${ h }小时${ m }分钟${ s }秒`            
        let mydiv = document.querySelector('#app')            mydiv.innerHTML = str        
        }        
    setInterval(showTime,1000)    
</script>

2、input标签的value属性:

let score = document.querySelector('#score') 
//input标签
​
let my_btn = document.querySelector('#btn_score')
//按钮 
my_btn.addEventListener('click',function(){            alert(score.value)        
})

window对象

一、window对象的其他函数

1、open函数:打开一个窗口

open(url,name,specs,replace)

url:统一资源定位符(网址),格式:

协议://主机名:端口号/文件路径

http:超文本传输控制协议,是一个无状态协议。直接运行在TCP协议之上

https:SSL,是安全的超文本传输控制协议。运行在SSL之上,SSL在TCP之上

name:窗口的名称

练习1:打开窗口

      var myWindow;      
function openWin() {        
        myWindow = window.open('http://www.woniuxy.com', 'newWin',         'width=400,height=200,left=200');        
        myWindow.document.write('<p>窗口名称为:' + myWindow.name + '</p>');                myWindow.document.write('<p>当前窗口的父窗口地址:' + window.parent.location + '</p>');      }
(1)open函数返回一个窗口对象。将该对象赋给变量myWindow
(2)myWindow.name:打开的窗口的name属性 --- 'newWin'     name属性:表示窗口对象的名称(3)window.parent.location:     
        window:指的是新打开的窗口中的BOM的window对象    
        parent:上面window对象的属性,代表的是外层的窗口     l
        ocation:代表的是外层窗口的浏览器地址栏

关闭窗口:

 function closeWin() {        
myWindow.close();}      
function checkWin() {        
        if (myWindow) {  //表示如果myWindow对象存在          
                var str = myWindow.closed ? '窗口已关闭!' : '窗口未关闭!';        
        } else {          
                var str = '窗口没有被打开!';        
        }        
document.getElementById('msg').innerHTML = str;      
}
(1)myWindow是新打开的窗口对象
(2)close()函数:用来关闭窗口对象
(3)myWindow.closed:closed是窗口对象的属性,若窗口对象关闭该属性值为true,否则为false

2、moveTo(x,y):将窗口移动到指定的位置

3、resizeTo(w,h):改变窗口的大小

二、window对象的属性

1、innerHeight / innerWidth:返回窗口的文档显示区的高度和宽度

2、outerHeight / outerWidth:返回窗口外部的高度和宽度(包括工具条和滚动条)

三、location对象:是浏览器的地址栏

1、url:统一资源定位符

IP:网际协议。

IP地址:是计算机在互联网上的唯一标识

IP地址的编址方式:

IPV4:点分十进制

192.168.1.125

IPV6:冒号十六进制

00::A1::B6::CF

2、location的方法:

(1)assign(url):载入新的文档

(2)reload(true/false):重新载入当前文档

(3)replace(url):用新的文档替换当前文档

3、location的属性:

href:表示url地址

C/S结构:Client/Server —- 客户端/服务器结构

B/S结构:Browser/Server —- 浏览器/服务器结构

四、history对象:该对象可以对浏览器访问过的URL历史记录进行操作

1、出于安全方面的考虑,history对象不能直接获取用户浏览过的URL,但可以控制浏览器实现“后退”和“前进”的功能。

2、属性:length —— 历史列表中的网址数

3、方法:

(1)go( 整数 ):加载历史列表中某个具体页面。正数表示前进,负数表示后退

(2)back():表示后退,加载是历史列表中前一个网址

(3)forward():表示前进,加载历史列表中下一个网址

五、navigator对象:是浏览器的嗅探器,保存的是浏览器的详细信息

1、appCodeName:浏览器的内部名称 —- 浏览器的内核

2、appName:浏览器的名称

3、platform:运行浏览器的操作平台

4、userAgent:客户端发送给服务器的User-Agent值


练习

1、简单时钟

<style>    
.box{        
        width: 500px;       
        height: 150px;        
        /* border: 1px solid #ccc; */        
        margin: 20px auto;        
        line-height: 150px;        
        text-align: center;    
    }    
#clock{        
        width: 300px;        
        height: 100px;        
        border: 1px solid #ccc;    
}
</style>
<body>    
    <div class="box">        
    <div id="clock"></div>        
    <p><button id="btn_start">开始</button></p>        </div>    
<script>        
//1.创建变量        
    var timer = null   
//定时器变量        
    var flag = true 
//标记变量:用来标识当前按钮是'开始'还是'暂停'        showTime()        
//2.定义函数:用于显示时间        
    function showTime(){            
//2.1、创建日期对象-- 当前日期            
    let now = new Date()            
//2.2、取出日期的时间            
    let h = now.getHours()            
    let m = now.getMinutes()            
    let s = now.getSeconds()            
    h = h<10?'0'+h : h            
    m = m<10?'0'+m : m            
    s = s<10?'0'+s : s            
//2.3、将时间写入div中                                
    document.getElementById('clock').innerHTML = h + ':' + m + ':' + s     
}        
//3.给按钮注册click事件,在事件的处理程序中创建定时器            let start = document.getElementById('btn_start')     start.addEventListener('click',function(){       //3.1、判断标记变量flag,若为true表示时间正在运行,按钮显示'暂停'            
    if(flag){                
        timer = setInterval(showTime,1000)//创建定时器         flag = !flag //取反                                 this.innerHTML = '暂停'
      //this代表的是当前的按钮start            
         }else{               s
            clearInterval(timer) //清除定时器                     flag = !flag                                       this.innerHTML = '开始'            
}})    
</script>

2、在页面加载完成后即刻显示时钟的解决办法:

(1)先调用函数

(2)使用事件:

load — 当浏览器加载页面时触发该事件 ===> 表示当页面加载时就运行showTime函数

3、事件的注册方式

(1)写在页面的标签中:

    <button οnclick="函数名()"></button>

(2)使用addEventListener注册:

    对象名.addEventListener('事件名',事件处理函数)

(3)使用函数表达式

函数表达式:   let/var 变量名 = function([参数]){}  
注册事件的方式: 对象名.onclick = function([参数]){}

4、有JavaScript控制复选框

(1)复选框组:将所有复选框的name属性值定义成一样的

(2)复选框的事件:change —- 当复选框的状态发生改变时触发

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到