JavaScript中的window对象详解

1.window对象简介

(1)在JavaScript中,一个浏览器窗口就是一个window对象。
(2)一个窗口就是一个window对象,这个窗口里面的HTML文档就是一个document对象,document对象是window对象的子对象。

window对象的子对象分很多种:

子对象说明
document文档对象用于操作页面元素
location地址对象用于操作URL地址
navigator浏览器对象用于获取浏览器版本信息
history历史对象用于操作浏览器历史
screen屏幕对象用于操作屏幕的高度和宽度

注:一个窗口是一个window对象,这个窗口里边的HTML文件是一个document对象,window对象众多的子对象由于都是操作窗口的,所以称为BOM对象(浏览器对象类型)

  • ECMAScript指的是基本语法
  • DOM控制标签相关的内容
  • BOM控制浏览器窗口相关的

2.新窗口的关闭与打开

(1)窗口关闭:

window.close()关闭当前的窗口
<body>

	<a href="关闭窗口.html" target="_blank">新窗口</a>
	
<script>
 btn.onclick=function(){
          window.close();  //window是代表关闭当前的窗口
</script>
</body>        

在这里插入图片描述
这里当我们点击新窗口时,会跳转新的窗口

<body>
      <button type="button" id="btn">关闭窗口</button>
	
<script>
 btn.onclick=function(){
          window.close();  //window是代表关闭当前的窗口
</script>
</body>    

在这里插入图片描述
当我们点击关闭窗口时,会返回上一个页面,关闭当前页面
在这里插入图片描述

(2)窗口的打开

 打开窗口  window.open('链接地址');链接地址任意都可以
 //相当于把打开的窗口存储到a内部
<body>
 <button type="button" id="btn">打开窗口(百度)</button>
<script>
 btn.onclick=function(){
          window.open('https://www.baidu.com/');
</script>
</body>        

在这里插入图片描述
当我们点击此按钮将会跳转百度这个窗口
在这里插入图片描述
当我们会使用如何关闭和打开新窗口,也可以绑定一个定时器设置多长时间去关闭窗口

<body>
<button type="button" id="btn">打开窗口(百度)</button>
	<a href="关闭窗口.html" target="_blank">新窗口</a>
	
	
	<script type="text/javascript">
		  btn.οnclick=function(){
			 // 打开窗口  window.open('链接地址');链接地址任意都可以
			 //相当于把打开的窗口存储到a内部
			  var a=window.open('https://www.baidu.com/');
			  //绑定一个定时器,设置时间去关闭窗口
			  setInterval(function(){
				  //关闭a窗口
				  a.close()
			  },1000)  //设置为1秒钟后关闭也页面
		  }
		<script>
<body>

3.弹出框(confirm)用法
设置一个按钮,点击的时候可以关闭窗口
关闭窗口之前会先弹出提示框,如果用户确认,就关闭窗口,否则不关闭

<body>
	<button type="button" id="btn">点我有惊喜!!</button>
	<script type="text/javascript">
btn.onclick=function(){    //绑定btn的点击事件
				 //弹出框
				 if(confirm('确认关闭窗口吗')){  
					//关闭窗口
					window.close()
				 }
			 }
	</script>
</body>

在这里插入图片描述

当我们点击的时候就会弹出确认框,如果点确定就会关闭窗口,取消则不会关闭

补充内容:

1.单次定时器,只执行一次就停止了
setTimeout(code,time)–> code:可以是一段代码可以是一个函数名; time:是时间单位为毫米,表示要过多长时间执行code里边的代码
clearTimeout() —>暂停定时器

var timer=window.setTimeout(function(){
				console.log(111)
			},1000)
			//clearTimeout(定时器名字)停止单次定时器
			clearTimeout(timer)

2.利用单次定时器,实现多次定时器的效果(利用函数内部调用函数)

function fn(){
				setTimeout(function(){
					console.log(1111);
					fn();
				},1000)
			}
			fn()

setInterval()和clearInterval():
(1)语法1: setInterval(code,time):重复性的执行一段代码
参数code:可以是一段代码,可以是一个函数,也可以是一个函数名
参数time:是时间,单位为毫秒表示要过多长时间才执行code里边的代码
注:虽然和 setTimeout()语法一样,但是不同的是 setTimeout()只执行一次,然而setInterval()执行无数次
(2) 语法2: clearInterval(obj):取消
clearInterval()的执行
obj是clearInterval()方法返回的对象

3.函数与定时器写法区别

<script>
function fn(){
	    console.log(1111)
		   }
           //fn是函数
		   //fn()是执行函数
		   setTimeout(fn,1000); //和原来的书写方式一样
		   setTimeout(fn(),1000)  //函数后面加括号,会直接执行函数,定时器失效,就不会用到定时器
		   setTimeout("fn()",1000)  //如果书写成函数的形式,直接加引号即可
</script>

3.history用法

  • history.go(num)可以跳转页面 num值可以自定义 正值返回之后的页面 负值返回之前的页面
  • history.go(-1)等价于与history.back() —>返回之前的页面
  • history.go(1) 等价于history.forward() —>返回之后的页面
<button onclick="history.go(-1)">返回到上一级</button>
<button onclick="history.go(1)">返回到下一级</button>
<button onclick="history.back()">返回到上一级</button>
<button onclick="history.forward()">返回到下一级</button>
<a href="07无缝滚动.html">窗口</a>

4.location()用法

location.reload()     --->刷新页面
	<button onclick="location.reload()">刷新页面reload</button>
<script>
//js中的双引号和单引号使用方法一样,但是单引号内部不能使用单引号,双引号内部不能使用双引号,自身不能嵌套自身,但是双引号可以嵌套单引号
	replace()是替换页面,跳转完回不去之前的页面
	<button onclick="location.replace('https://www.bilibili.com/')">跳转页面replace</button>
	assign()是在历史页面新增一条记录
	<button onclick="location.assign('https://www.bilibili.com/')">跳转页面assign</button>
   
 <button id="btn">跳转页面</button>
	<script type="text/javascript">
		btn.onclick=function(){
			//location.href可以修改地址,直接使用新地址赋值即可
			location.href='https://www.bilibili.com'
		}
</script>

在这里插入图片描述

5.screen

屏幕对象用于操作屏幕的高度和宽度 (指的是电脑的显示屏分辨率)

<script type="text/javascript">
	    //screen指的是显示屏,是电脑显示屏
		console.log('显示屏宽度'+screen.width);
		console.log('显示屏高度'+screen.height);
		console.log('可用宽度'+screen.availWidth);
		console.log('可用高度'+screen.availHeight);//不包含导航条
	</script>

在这里插入图片描述

6.navigator

浏览器对象用于获取浏览器版本信息

<script type="text/javascript">
		console.log(navigator.appName);//检测当前浏览器的名字
		console.log(navigator.appVersion); //检测当前的版本
	</script>

在这里插入图片描述
补充:

7.document对象常用的方法

方法名说明
document.getElementById()通过id获取元素
document.getElementsByTagName()通过标签获取元素
document.getElementByClassName()通过class获取元素
document.getElementByName()通过name获取元素
document.write()输出内容
document.writeln()输出内容并换行
喜欢本人博客的请点赞收藏,本人是一名正在学习前端的小郭同学,会多多更新!!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值