[路飞]_每日一题:简述window对象除 document以外的一些常用子对象

137 阅读3分钟

这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。

做前端多年,感觉window对象属性和方法用的是越来越少了,特此记录下现在常用的一些对象属性和方法。

window对象表示一个浏览器窗口或一个框架。在客户端JavaScript中,window对象是全局对象,所有的表达式,都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性当做全局变量。

现在让我们来看看window对象都有哪些对象属性和方法吧。

属性

  • closed: 只读属性表示所引用的窗口是否关闭。返回值是一个布尔值。
  • console: 前端必备。Window.console提供了向浏览器控制台输出日志信息的方法。这些方法仅应该用于调试,并不应该用来给最终用户呈现信息。
window.console.log('我是一段打印的内容'); // 我是一段打印的内容
// 简写
console.log('我是一段打印的内容'); // 我是一段打印的内容
  • document: 返回当前窗口内的文档节点。

1642919188(1).png

  • frameElement: 返回嵌入当前window对象的元素(比如 <iframe> 或者 <object>),如果当前window对象已经是顶层窗口,则返回null
window.frameElement; // null
  • history: 是一个只读属性,用来获取浏览器地址栏中访问的页面,以及当前页面中通过框架加载的页面的接口。在移动端应用嵌套的时候,数据改变后,如果是刷新的话,可能会直接回退到工作台,这时可以使用以下方法,回退到前一步。
history.back(); // 等同于点击了回退按钮
history.go(-1); // 等同于history.back()
  • innerHeight: 浏览器窗口的视口(viewport)高度(以像素为单位);如果有水平滚动条,也包括滚动条高度。
  • innerWidth: 返回以像素为单位的窗口的内部宽度。如果垂直滚动条存在,则这个属性将包括它的宽度。

1642920158(1).png 一般在页面布局的时候,特别是PC,平板,手机都一套代码的时候,需要监听当前屏幕的大小,来实现一些布局的变化。

  • localStorage:属性允许你访问一个保存在浏览器会话中的数据。存储在localStorage 的数据可以长期保留。
  • sessionStorage:属性允许你访问一个保存在浏览器会话中的数据。localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。
  • location: 只读属性,返回一个 Location对象,其中包含有关文档当前位置的信息。
window.location = "https://www.baidu.com/";
window.location.herf = "https://www.baidu.com/";
window.location.assign("https://www.baidu.com/");
// 以上效果是一样的
window.location.reload(true); // 强制从服务器从新加载当前页面
window.location.replact('https://www.baidu.com/'); // 类似于F5刷新
  • navigator: 只读属性 Window.navigator 会返回一个 Navigator 对象的引用,可以用于请求运行当前代码的应用程序的相关信息。
// 检测浏览器并返回浏览器名称字符串
window.navigator.userAgent;
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'