前端要理解的widow对象

本文介绍了JavaScript中对象的来源,包括ECMAScript提供的对象、运行环境提供的宿主对象和用户自定义对象。重点阐述了宿主浏览器提供的window对象,它承载着js的所有对象,代表浏览器窗口。还列举了window对象的部分属性,如document、frames等对象,强调网页操作多通过window对象完成。

js中常常说一句话就是一切皆是对象,那么在js中有哪些对象呢,从其来源可以分为:

  • ECMAScript提供的对象,这种对象与代码运行的环境无关,这种对象如果需要new实例化就是原生对象,不需要new实例化的就是内置对象
  • 运行环境提供的对象,称为宿主对象,前端js的宿主主要就是浏览器,所以也称为浏览器对象,这里面包括dom,bom,XMLHttpRequest…
  • 用户自定义的对象
    javascript是怎么把这么多种类的对象结合起来的呢,那就是宿主浏览器提供的window 对象,就像地球承载着地球上的所有事物一样,一个窗口就是一个世界,一个世界有一个window对象承载着js的所有对象。任何的操作都涉及window对象或者其子对象的属性/方法,window对象就代表浏览器窗口。实际上对于网页的任何操作都是通过window对象来完成的。

Window 对象

有一个浏览器窗口就有一个window对象,window对象就代表浏览器窗口。Window 对象有很多属性和方法,有些属性本身就是一个对象:
在这里插入图片描述

  • document 对象,浏览器载入的 HTML 文档, 将会被解析成 Document 对象,是dom的一部分
  • frames 对象 类数组对象,返回窗口中所有命名的框架,是bom的一部分
  • history 对象 包含用户(在浏览器窗口中)访问过的 URL,是bom的一部分
  • location 对象 包含有关当前 URL 的信息,是bom的一部分
  • navigator 对象 包含有关浏览器的信息,是bom的一部分
  • screen 对象 包含有关客户端显示屏幕的信息,是bom的一部分

PS:window对象的子对象不止这些,比如子对象XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,实际上我们后面的大部分内容都是宿主对象提供的api让js通过浏览器实现各种各样的功能。
总之不管是你自定义的变量或者,还是引入的第三方插件,他们一定被包含在window对象的范围内的。

window对象的属性和方法

属性描述
closed返回窗口是否已被关闭。
defaultStatus设置或返回窗口状态栏中的默认文本。
document对 Document 对象的只读引用。(请参阅对象)
frames返回窗口中所有命名的框架。该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架。
history对 History 对象的只读引用。请参数 History 对象。
innerHeight返回窗口的文档显示区的高度。
innerWidth返回窗口的文档显示区的宽度。
localStorage在浏览器中存储 key/value 对。没有过期时间。
length设置或返回窗口中的框架数量。
location用于窗口或框架的 Location 对象。请参阅 Location 对象。
name设置或返回窗口的名称。
navigator对 Navigator 对象的只读引用。请参数 Navigator 对象。
opener返回对创建此窗口的窗口的引用。当窗口是用javascript打开时,指向打开它的那人窗口(开启者)
outerHeight返回窗口的外部高度,包含工具条与滚动条。
outerWidth返回窗口的外部宽度,包含工具条与滚动条。
pageXOffset设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent返回父窗口。如果当前窗口为frame,指向包含该frame的窗口的frame (frame)
screen对 Screen 对象的只读引用。
screenLeft返回相对于屏幕窗口的x坐标
screenTop返回相对于屏幕窗口的y坐标
screenX返回相对于屏幕窗口的x坐标
sessionStorage在浏览器中存储 key/value 对。 在关闭窗口或标签页之后将会删除这些数据。
screenY返回相对于屏幕窗口的y坐标
self返回对当前窗口的引用。等价于 Window 属性。
status设置窗口状态栏的文本。
top返回最顶层的父窗口。如果当前窗口为frame,指向包含该frame的top-level的window对象
方法描述
alert()弹出一个带有一段消息和确认按钮的窗体
blur()把键盘焦点从顶层窗口移开
clearInterval()取消由setInterval()设置的timeout
clearTimeout()取消有setTimeout()方法设置的timeout
close()关闭浏览器窗口
confirm()显示带有一段消息以及确认按钮盒取消按钮的对话框
focus()把键盘焦点给予一个窗口
moveBy()可相对窗口的当前坐标移动指定的像素
moveTo()把窗口的左上角移动到一个指定的坐标
open()打开一个新的浏览器窗体
prompt()显示可提示用户输入的对话框
resizeBy()按照指定的像素调整窗口的大小
resizeTo()把窗体的大小调整到指定的宽度和高度
scrollBy()按照指定的像素值来滚动内容
scrollTo()把内容滚动到指定的坐标
setInterval()按照指定的周期(毫秒)来调用函数或计算表达式
setTimeout()在指定的毫秒数后调用函数或表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值