【前端】JS——BOM常用知识点笔记

news/2024/12/23 3:44:27/

浏览器对象模型(BOM)

目录

1、Window对象(不常用)

 2、通过Window对浏览器窗口进行操作(不常用)

3、通过Window对屏幕进行操作(不常用)

4、通过Window.Loaction对URL进行操作

5、window.history 对象包含浏览器的历史。(不常用)

6、消息弹窗(常用)

(1) 警告框 alert("msg")

(2) 确认框 confirm("msg")

(3) 提示框 prompt("msg")

 7、计时器(常用)

(1)setInterval(s,time)

(2)setTimeout(s,time)

8、页面加载事件(常用)

9、本地缓存(常用)

(1)window.sessionStorage

(2)window.localStorage


1、Window对象(不常用)

所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

全局变量是 window 对象的属性。

全局函数是 window 对象的方法。

HTML DOM 的 document 是 window 对象的属性。

 2、通过Window对浏览器窗口进行操作(不常用)

    //  打开新窗口window.open()// 关闭当前窗口window.close()// 移动当前窗口window.moveTo()// 调整当前窗口的尺寸window.resizeTo()

Window 获取浏览器窗口的尺寸(浏览器窗口大小进行调整是宽高会随着变化而变化)

<script>// window.innerWidth浏览器窗口的内部宽度(包括滚动条)var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;// window.innerHeight浏览器窗口的内部高度(包括滚动条)var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;console.log("浏览器的窗口宽、高分别是:",w,h);
</script>

监听窗口大小变化

方法1

<script>addEventListener('resize', function () {// window.innerWidth浏览器窗口的内部宽度(包括滚动条)var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;// window.innerHeight浏览器窗口的内部高度(包括滚动条)var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;console.log("浏览器的窗口宽、高分别是:", w, h);})
</script>

方法2

<script>onresize = function () {// window.innerWidth浏览器窗口的内部宽度(包括滚动条)var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;// window.innerHeight浏览器窗口的内部高度(包括滚动条)var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;console.log("浏览器的窗口宽、高分别是:", w, h);}
</script>

运行结果

 

3、通过Window对屏幕进行操作(不常用)

访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏

<script>w=screen.availWidth;h=screen.availHeight;console.log("可用的屏幕宽度、高度分别是:",w,h);
</script>

4、通过Window.Loaction对URL进行操作

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

window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。

window.location.replace(url) : 通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个窗口,所以是没有后退返回上一页的

window.location.reload() 重新加载页面,相当于刷新按钮或者f5

navigator对象可用于判断判断用户是使用什么客户端打开的

if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {   console.log("手机");
} else {   console.log("电脑");
}

5、window.history 对象包含浏览器的历史。(不常用)

history.back() - 与在浏览器点击后退按钮相同

history.forward() - 与在浏览器中点击向前按钮相同

history.go(n); 参数n表示跳转页面的个数 ;当n>0时,前进n个页面;当n=0,刷新当前页面;当n<0后退n个页面。

6、消息弹窗(常用)

弹窗里msg内容要换行使用“\n”

(1) 警告框 alert("msg")

<script>alert("警告框!");
</script>

 

(2) 确认框 confirm("msg")

<script>confirm("确认框");
</script>

 

(3) 提示框 prompt("msg")

<script>prompt("提示框");
</script>

 7、计时器(常用)

(1)setInterval(s,time)

每间隔time时间执行函数s.

<script>var a=1// 每个1秒打印数字a++var time = setInterval(function(){console.log(a++);},1000)
</script>

运行结果

清理setInterval(s,time)要把计时器赋值为time,然后使用 clearInterval(time)

(2)setTimeout(s,time)

经过time时间执行函数s一次就不在执行函数s.

<script>var a = 1// 经过1秒打印数字a++var time = setTimeout(function () {console.log(a++);}, 1000)
</script>

运行结果

 清理setTimeout(s,time)要把计时器赋值为time,然后使用 clearTimeout(time)


扩展:一般把setInterval和setTimeout组成一起使用

<script>var a = 1// 经过1秒打印数字a++var time = setTimeout(function () {console.log(a++);}, 1000)var timeout = setTimeout(function(){clearInterval(time)clearTimeout(timeout)},3*1000)
</script>

清除定时器:如果浏览器中有太多定时器,浏览器的性能会大大降低,会变得卡顿 。(定时器作用完后,要进行清除。)


8、页面加载事件(常用)

属性绑定程序 :Window.οnlοad=function(){} 【当文档内容加载完毕执行该函数。】

<body><div id="content"></div></body>
//以下代码放在文件头部也不影响
<script>onload=function(){document.querySelector("#content").innerHTML="页面加载事件"}
</script>

事件监听绑定程序

<body><div id="content"></div></body>
<script>addEventListener('load',function(){document.querySelector("#content").innerHTML="页面加载事件"})
</script>

9、本地缓存(常用)

数据存储在用户浏览器(客户端本地),设置、读取方便,页面刷新不消失,容量较大,sessionStorage约5M,localStorage约20M,只能存储字符串,可以将对象JSON.stringify编码后存储

(1)window.sessionStorage

关闭浏览器窗口设置的数据消失

在同一个窗口(页面)数据可以共享

以键值对的形式存储使用

设置sessionStorage

sessionStorage.setItem(key,value)

获取sessionStorage

sessionStorage.getItem(key)

移出sessionStorage

sessionStorage.removeItem(key)

清除所有sessionStorage

sessionStorage.clear()

(2)window.localStorage

生命周期永久生效,除非手动删除,否则关闭页面也会存在,可以多窗口共享

以键值对的形式使用

设置localStorage

localStorage.setItem(key,value)

获取localStorage

localStorage.getItem(key)

移出localStorage

localStorage.removeItem(key)

清除所有localStorage

localStorage.clear()


http://www.ppmy.cn/news/737991.html

相关文章

百度网盘关闭同步空间的方法

引言 今天使用百度网盘&#xff0c;发现桌面莫名给添加了同步空间&#xff0c;感觉会占用很多内存呀&#xff0c;按Delete键删除又删不掉&#xff0c;又找不到它的路径&#xff0c;放在桌面上感觉看着好不顺眼。。。于是找方法把这个功能给去掉了&#xff0c;记录一下。 1.选择…

百度云同同步盘 mac版

百度云同步盘 转载于:https://www.cnblogs.com/jpr-ok/p/10382530.html

百度同步盘+系统备份实现服务器文件在线自动备份

做好文件备份很重要&#xff0c;服务器通常会因为各种原因崩溃或出问题。如果服务器上的文件没有做好备份的工作&#xff0c;一旦服务器出问题&#xff0c;那么将会带来很大的麻烦。下面是广州网站建设一直用的&#xff0c;觉得很方便又好用的服务器在线备份方式。 一、注册百度…

第三方百度网盘同步盘设置

今天我就不写字&#xff0c;全是截图&#xff0c;csdn的审核真麻烦&#xff0c;原文去这个文章的原地址找吧&#xff0c;不好意思了&#xff0c;地址在最下面。 这是个百度网盘同步盘的实现方式&#xff0c;跟当年的同步盘一样。 资源到原作者页面查找吧&#xff0c;这里不能放…

python 百度网盘同步_强烈推荐百度同步插件Syncy,实现百度云与本地即时同步

本帖最后由 GreatorK 于 2016-5-9 14:56 编辑 之前本人使用WD My Cloud(基于Debian)时接触过的一款插件,可以实现即使时同步本地和云盘数据,目前各大网盘生存环境欠佳,重要文件本地备份还是有必要的! 软件目前只维护Python版本,理论支持linux内核的路由器及其他网络存储设…

百度官方申明百度网盘Mac同步版还可以使用_我是亲民_新浪博客

一段时间以来&#xff0c;MAC版本的百度云同步盘&#xff08;官方称为&#xff1a;百度网盘Mac同步版&#xff09;已经不能同步的问题&#xff0c;在经过用户的强烈要求之后&#xff0c;百度悄悄的重新开启了MAC版的同步盘的服务&#xff0c;并且把声明放在页面的角落&#xff…

问题-百度云同步盘登陆时提示155010错误

问题现象&#xff1a;20170916重新安装Windows7的64位系统&#xff0c;发现“百度云同步盘”安装后登陆显示155010错误。 问题原因&#xff1a;听说是版本不对应。 问题处理&#xff1a;在软件的目录里进入AutoUpdate文件夹&#xff0c;双击Autoupdate这个文件&#xff0c;会自…

百度网盘同步空间(Hyper-V为例)——实现在Hyper-V,ubantu,linux,VMware中和主机共享文件

废话不多说直接速上干货&#xff1a;百度上基本都是教你们远程桌面连接&#xff0c;文件夹共享&#xff0c;向日葵或是teamviver之类实现虚拟机与主机文件传输。我基本都试过一遍了&#xff0c;不是比较繁琐就是失败。百度网盘同步空间无敌&#xff1a; 一、主机和虚拟机都安装…