第130篇:BOM(window对象)
好家伙,本篇为《JS高级程序设计》第十二章"BOM"学习笔记
什么是BOM?
BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,
浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。
BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。
----百度百科
1.window对象
window 对象在浏览器中有两重身份,一个是 ECMAScript 中的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。
这意味着网页中定义的所有 对象、变量和函数都以 window 作为其 Global 对象,都可以访问其上定义的 parseInt()等全局方法。
因为 window 对象的属性在全局作用域中有效,所以很多浏览器 API 及相关构造函数 都以 window 对象属性的形式暴露出来。
因为 window 对象被复用为 ECMAScript 的 Global 对象,所以通过 var 声明的所有全局变量和函数都会变成 window 对象的属性和方法。
使用 let 或 const 替代 var,不会把变量添加给全局对象
var name = "panghu";
let age = "20";
const sex = "boy";
const getage = function(){
console.log(this.name);
console.log(this.age);
console.log(this.sex);
} console.log(window.name);
console.log(window.age);
console.log(window.sex);
getage();
2.窗口关系
top、self和parent
(1)top 对象始终指向最上层(最外层)窗口,即浏览器窗口本身。
(2)self 对象,它是终极 window 属性,始终会指向 window。实际上,self 和 window 就 是同一个对象。
(3)parent 对象则始终指向当前窗 口的父窗口。
3.窗口大小
两套属性: (1)outerWidth 和 outerHeight
(2)innerWidth 和 innerHeight
outerWidth 和 outerHeight 返回浏 览器窗口自身的大小(不管是在最外层 window 上使用,还是在窗格中使用)。
innerWidth 和 innerHeight 返回浏览器窗口中页面视口的大小(不包含浏览器边框和工具栏)。
console.log(window.innerWidth);
console.log(window.innerHeight); console.log(window.outerWidth);
console.log(window.outerHeight);
4.窗口移动和缩放
// 把窗口移动到左上角
window.moveTo(0,0); // 把窗口向下移动 100 像素
window.moveBy(0, 100); // 缩放到 100×100
window.resizeTo(100, 100); // 缩放到 200×150
window.resizeBy(100, 50);
edge禁用了该项属性,所以没有效果图
5.滚动
scroll()、scrollTo()和 scrollBy()方法滚动页面
// 相对于当前视口向下滚动 100 像素
window.scrollBy(0, 100);
//@param {number} a
//@param {number} b // 正常滚动
window.scrollTo({
left: a,
top: b,
behavior: 'auto'
}); // 平滑滚动
window.scrollTo({
left: a,
top: b,
behavior: 'smooth'
});
来看看效果图:
诶,突然想到一个有意思的点子,
无限滚动,整蛊好友
网页抽风代码如下:
let a = 0;
setInterval(() => {
window.scrollTo({
left: 0,
top: a,
behavior: 'smooth'
});
a = a + 3000;
if (a > 6000) {
a = 0;
}
}, 200)
6.系统对话框
除了平时大家熟悉的alert()
还有confirm()和prompt()
这里我们主要关注一下他们的参数
confirm框: true 表示单击 了 OK 按钮,
false 表示单击了 Cancel 按钮或者通过单击某一角上的 X 图标关闭了确认框。
prompt()框: 用户单击了 OK 按钮,则 prompt()会返回文本框中的值。
如果用户单击了 Cancel 按钮,或者 对话框被关闭,则 prompt()会返回 null。
然后,我们又可以开始整蛊模式了
for (let i = 1; i <= 999; i++) {
alert()
confirm()
prompt("do you like this")
}
7.窗口弹出
7.1.window.open()方法
window.open()方法可以用于导航到指定 URL,也可以用于打开新浏览器窗口。
这个方法接收 4 个参数:要加载的 URL、目标窗口、特性字符串和表示新窗口在浏览器历史记录中是否替代当前加载页 面的布尔值。
通常,调用这个方法时只传前 3 个参数,最后一个参数只有在不打开新窗口时才会使用。
7.2.window.close()方法
window.open()方法用于关闭指定窗口
let wroxWin = window.open("http://www.baidu.com/",
"baidu",
"height=400,width=400,top=100,left=100,resizable=yes");
// 缩放
wroxWin.resizeTo(500, 500);
// 移动
wroxWin.moveTo(100, 100);
//关闭窗口
setTimeout(() => {
wroxWin.close();
}, 3000)
7.3.opener属性
新创建窗口的 window 对象有一个属性 opener,指向打开它的窗口。
8.课后习题
1.什么是window对象?
答:window对象是JavaScript中最常用的内置对象,它表示浏览器窗口。它提供了访问浏览器的功能,包括访问和控制文档、浏览器历史和窗口位置等。
2.Window对象支持哪些属性?
答:Window对象支持的属性包括:window.closed,window.defaultStatus,window.document,window.frames,window.history,window.innerHeight,window.innerWidth,window.length,window.location,window.name,window.opener,window.outerHeight,window.outerWidth,window.pageXOffset,window.pageYOffset,window.parent,window.screen,window.screenX,window.screenY,window.self,window.status,window.top等。、
第130篇:BOM(window对象)的更多相关文章
- BOM window对象方法
window对象方法 alert():弹出一个警告对话框. prompt():弹出一个输入对话框. confirm():弹出一个确认对话框.如果单击“确定按钮”返回true,如果单击“取消 ...
- 浏览器对象模型“BOM”-- window对象
global对象 全局对象 所有的全局变量和全局方法,都可以归在window上 <!DOCTYPE html> <html lang="en"> <h ...
- JS_高程8.BOM window对象(1)
1.全局作用域 var age = 14; window.coloer = "pink"; console.log(delete window.age);//false 使用var ...
- JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...
- BOM主要对象属性方法总结
BOM window对象 浏览器实例,全局对象 1.窗口位置: screenTop,screenLeft(screenX,screenY):窗口相对于屏幕左边和上边的位置 moveTo(x,y):将窗 ...
- BOM之window对象
双重角色 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重角色,它既是通过Javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Glob ...
- JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)
本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param ...
- Javascript高级编程学习笔记(27)—— BOM(1)window对象1
ECMAScript是JS的核心 但是对于在浏览器中运行的JS,BOM显然才是真正的核心 我们知道JS是由三个部分组成的 BOM.DOM.ECMAScript 之前的文章我们主要介绍的是ECMAScr ...
- JavaScript BOM-11-BOM的核心-window对象; window对象的控制,弹出窗口方法; 超时调用; 间歇调用; location对象常用属性; 位置操作--location.reaplace,location.reload(); BOM中的history对象; Screen对象及其常用属性; Navigator对象;
JavaScript BOM 学习目标 1.掌握什么是BOM 2.掌握BOM的核心-window对象 3.掌握window对象的控制.弹出窗口方法 什么是bom BOM(browser object ...
- JavaScript浏览器对象模型(BOM)之window对象
一.BOM概述 BOM(Browser Object Model)浏览器对象模型,它提供了很多对象,用于访问浏览器的功能. BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,那么浏览器共有对象 ...
随机推荐
- Debian 安装vim 提示版本问题的处理
https://blog.csdn.net/Oil__/article/details/113384278 purge 还有 --allow-remove-essential 安装失败提示解决方法安装 ...
- SAP PO7.5 有关https 接口body编码格式 application/x-www-form-urlencoded
近期项目中,在PO中做接口 遇到OAUTH2.0认证方式,token获取过程中编码格式为 "application/x-www-form-urlencoded" 实现过程错误记录: ...
- Fabric网络升级(总)
原文地址在这里. 在fabric网络中,升级nodes和通道至最新版本需要四步: 备份账本和MSPs. 以滚动的方式将orderer升级到最新版. 以滚动的方式将peers升级到最新版. 将order ...
- 【Java】引用传递?值传递?
引用传递和值传递,从上学那会儿就开始强调的概念,不管你是计算机相关专业还是自学Java,一定听过这么一句话: 方法调用参数如果是对象,那就是引用传递,如果是基本数据类型,就是值传递. 比如:funct ...
- endnote文献使用简明教程+遇到问题
安装下载endnote 1.双击[EndNote X9 v19.0.0.12062 Setup.msi]安装EndNote X9,安装时选择试用,安装完成后不要运行EndNote: 2.如果想使用汉化 ...
- Python 使用Scapy构造特殊数据包
Scapy是一款Python库,可用于构建.发送.接收和解析网络数据包.除了实现端口扫描外,它还可以用于实现各种网络安全工具,例如SynFlood攻击,Sockstress攻击,DNS查询攻击,ARP ...
- SpringBoot + LiteFlow:轻松应对复杂业务逻辑,简直不要太香!
LiteFlow简介 LiteFlow是什么? LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑.通过支持热加载规则配置,开发者能够 ...
- 常用TS总结
自己常用的 TS 写法总结,应该会一直更新.可使用 TS在线编译 校验 TS 语法. 基本用法 普通 const num: number = 10 const isStop: boolean = fa ...
- Spring boot 的定时任务。
@Scheduled(fixedRate=2000):上一次开始执行时间点后2秒再次执行: @Scheduled(fixedDelay=2000):上一次执行完毕时间点后2秒再次执行: @Schedu ...
- .NET Core开发实战(第26课:工程结构概览:定义应用分层及依赖关系)--学习笔记
26 | 工程结构概览:定义应用分层及依赖关系 从这一节开始进入微服务实战部分 这一节主要讲解工程的结构和应用的分层 在应用的分层这里定义了四个层次: 1.领域模型层 2.基础设施层 3.应用层 4. ...