前端温习(三): JavaScript Browser 对象

简介: Window 对象表示浏览器中打开的窗口。这么一说大家肯定还是和我一样一脸懵逼,浏览器中打开的窗口是新的标签吗?就有下文的白话文。

Window 对象

Window 对象表示浏览器中打开的窗口。这么一说大家肯定还是和我一样一脸懵逼,浏览器中打开的窗口是新的标签吗?就有下文的白话文。

JavaScript 的所有对象都存在于一个运行环境之中,这个运行环境本身也是对象,称为“ 顶层对象 ”。这就是说,JavaScript 的所有对象,都是“ 顶层对象 ”的下属。不同的运行环境有不同的“ 顶层对象 ”,在浏览器环境中,这个顶层对象就是 window 对象。

所有浏览器环境的全局变量,都是window对象的属性。

var a = 1;
window.a // 1


可以简单理解成,window 就是指当前的浏览器窗口。

只要指定某个 window 或帧框(frame)的名字,就可以从这个全局对象读取该窗口的全局变量。比如,某个文档存在一个全局变量 x,就可以从 iframeparent.x 读取该全局变量。

属性

属性 说明
document 对话框中显示的当前的文档
frames 表示当前对话框中所有frame对象的集合
location 指定当前文档的URI
name 对话框的名字
status 状态栏中的当前信息
defaultstatus 状态栏的默认信息
top 表示最顶层的浏览器对话框
parent 表示包含当前对话框的父对话框
opener 表示打开当前对话框的父对话框
closed 表示当前对话框是否关闭的逻辑值
length 设置或返回窗口中的框架数量

方法

方法 说明
alert() 显示带有一段消息和一个确认按钮的警告框
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框
prompt() 显示可提示用户输入的对话框
open() 打开一个新的浏览器窗口或查找一个已命名的窗口
close() 关闭浏览器窗口
focus() 把键盘焦点给予一个窗口
blur() 将被引用的的对话框放在所有打开对话框的后面
scrollTo(x,y) 把对话框滚动到指定的坐标
scrollBy(x,y) 按照指定的位移量滚动对话框
setTimeout(timer) 在指定毫秒后,对传递的表达式求值
clearTimeout() 取消由 setTimeout() 方法设置的 timeout
setInterval(interval) 指定周期性执行代码
clearInterval() 取消由 setInterval() 设置的 timeout
moveTo(x,y) 将对话框移动到指定坐标处
moveBy(offsetx,offsety) 将对话框移动到指定的位移量处
resizeTo(x,y) 设置对话框大小

使用

// 使用window
window
// 获取整个页面
window.document
// 打开一个新窗口
myW=window.open('http://c69p.com');
// 经过三秒后关闭打开的窗口
window.setTimeout(function(){
    myW.close();
}, 3000);


Navigator 对象

Navigator 对象包含有关浏览器的信息。

属性

属性 说明
appCodeName 返回浏览器的代码名
appName 返回浏览器的名称
appVersion 返回浏览器的平台和版本信息
cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值
platform 返回运行浏览器的操作系统平台
userAgent 返回由客户机发送服务器的user-agent 头部的值

使用

// 显示浏览器
console.log(navigator)
// output: Navigator {vendorSub: '', productSub: '20030107', vendor: 'Google Inc.', maxTouchPoints: 0, scheduling: Scheduling, …}


Screen 对象

Screen 对象包含有关客户端显示屏幕的信息。

属性

属性 说明
availHeight 返回屏幕的高度(不包括Windows任务栏)
availWidth 返回屏幕的宽度(不包括Windows任务栏)
colorDepth 返回目标设备或缓冲器上的调色板的比特深度
height 返回屏幕的总高度
pixelDepth 返回屏幕的颜色分辨率(每象素的位数)
width 返回屏幕的总宽度

使用

// 显示客户端相关信息
console.log(screen)
// output: Screen {availWidth: 1536, availHeight: 824, width: 1536, height: 864, colorDepth: 24, …}


History 对象

History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history.xxx 属性对其进行访问。

属性

属性 说明
length 返回历史列表中的网址数

方法

方法 说明
back() 加载 history 列表中的前一个 URL
forward() 加载 history 列表中的下一个 URL
go() 加载 history 列表中的某个具体页面

使用

// 使用
history
// or window.history
window.history
// output: History {length: 5, scrollRestoration: 'auto', state: null}
// 获取长度属性
history.length
// output: 3
// 后退一页
history.go(-1)


Location 对象

Location 对象包含有关当前 URL 的信息。

Location 对象是 window 对象的一部分,可通过 window.location.xxx 格式的相关属性对其进行访问。

属性

属性 描述
hash 返回一个URL的锚部分
host 返回一个URL的主机名和端口
hostname 返回URL的主机名
href 返回完整的URL
pathname 返回的URL路径名
port 返回一个URL服务器使用的端口号
protocol 返回一个URL协议
search 返回一个URL的查询部分

方法

方法 说明
assign() 载入一个新的文档
reload() 重新载入当前文档
replace() 用新的文档替换当前文档

使用

// 使用
location
// or window.location
window.location
// output: Location {ancestorOrigins: DOMStringList, href: 'http://c69p.com.test/test#aa', origin: 'http://c69p.com.test', protocol: 'http:', host: 'c69p.com.test', …}
// 获取 URL 锚部分
location.hash
// output: '#aa'


JavaScript 存储对象

Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加、删除、修改、查询操作。

  • localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

存储对象属性

属性 描述
length 返回存储对象中包含多少条数据

存储对象方法

方法 描述
key(n) 返回存储对象中第 n 个键的名称
getItem(keyname) 返回指定键的值
setItem(keyname, value) 添加键和值,如果对应的值存在,则更新该键对应的值
removeItem(keyname) 移除键
clear() 清除存储对象中所有的键

Web 存储 API

属性 描述
window.localStorage 在浏览器中存储 key/value 对。没有过期时间
window.sessionStorage 在浏览器中存储 key/value 对。 在关闭窗口或标签页之后将会删除这些数据

使用

// 使用 window.localStorage or localStorage
window.localStorage 
localStorage
// 设置 name 为 chendasheng localStorage是永久缓存需要手动删除
localStorage.setItem('name','chendasheng')
localStorage.getItem('name')
// output: 'chendasheng'
// 使用 window.sessionStorage or sessionStorage 
window.sessionStorage 
sessionStorage
// 设置 name 为 chendasheng sessionStorage 是临时缓存关闭浏览器或关闭当前窗口将会清理
sessionStorage.setItem('name','chendasheng')
sessionStorage.getItem('name')
// output: 'chendasheng'


参考 & 引用

JavaScript 教程 | 菜鸟教程

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2cx8npfhvrk0w

目录
相关文章
|
8天前
|
JavaScript 前端开发 API
详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
该文章详细讲解了队列数据结构在前端开发中的应用,并深入探讨了JavaScript的事件循环机制,区分了宏任务和微任务的执行顺序及其对前端性能的影响。
|
6天前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
2天前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
10 3
|
9天前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
9天前
|
前端开发 JavaScript
前端基础(十五)_时间对象、字符串对象
本文介绍了JavaScript中时间对象的操作方法,包括获取和设置年、月、日、小时、分钟、秒等,以及如何格式化时间显示,同时提及了字符串对象的常用方法。
19 0
前端基础(十五)_时间对象、字符串对象
|
5天前
|
存储 JavaScript 前端开发
JavaScript Number 对象
JavaScript Number 对象
9 0
|
5天前
|
JavaScript 前端开发
JavaScript prototype(原型对象)
JavaScript prototype(原型对象)
11 0
|
5天前
|
JavaScript 前端开发
JavaScript 对象
JavaScript 对象
10 0
|
8天前
|
JavaScript 前端开发 开发者
深入浅出 Vue.js:构建响应式前端应用
Vue.js 是一个流行的前端框架,以其简洁、高效和易学著称。它采用响应式和组件化设计,简化了交互式用户界面的构建。本文详细介绍 Vue.js 的核心概念、基本用法及如何构建响应式前端应用,包括实例、模板、响应式数据和组件等关键要素,并介绍了项目结构、Vue CLI、路由管理和状态管理等内容,帮助开发者高效地开发现代化前端应用。
|
8天前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
下一篇
无影云桌面