常用的window对象

93 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情

🎈大家好,我是李乐一,新人初来乍到,请多多关照~
📝小小的前端一枚,分享一些日常的学习和项目实战总结~
😜如果本文对你有帮助的话,帮忙点点赞呀!ღ( ´・ᴗ・` )比心~

1.window对象

  • 在js中,一个浏览器窗口就是一个window对象。
  • 一个窗口就是一个window对象,窗口里的HTML文档就是一个document对象,document对象是window对象的子对象。

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

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

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

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

2.新窗口的关闭与打开

(1)窗口关闭:

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

这里当我们点击新窗口时,会跳转新的窗口

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

当我们点击关闭窗口时,会返回上一个页面,关闭当前页面

(2)窗口的打开

打开窗口 window.open('链接地址')

<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.弹出框用法

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

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

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

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

1.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>

2.location()用法

location.reload() --->刷新页面

<button onclick="location.reload()">刷新页面reload</button>
// 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>

3.screen

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

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

4.navigator

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

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

5.document对象常用的方法

  • document.getElementById() 通过id获取元素
  • document.getElementsByTagName() 通过标签获取元素
  • document.getElementByClassName() 通过class获取元素
  • document.getElementByName() 通过name获取元素
  • document.write() 输出内容
  • document.writeln() 输出内容并换行