BOM(Browser Object Model 浏览器对象模型)

window是全局浏览器内置顶级对象

表示浏览器中打开的窗口(没有应用于window对象的公开标准,不过所有浏览器都支持该对象)
Window 对象表示一个浏览器窗口或一个框架。
在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。
例如,可以只写 document,而不必写 window.document。
同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
除了上面列出的属性和方法,Window 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。

1、全局变量默认是挂在window下的

var  a = 123;
alert(window.a)//123

2、window下的子对象

(1)location

window.location.href 当前页面的 URL,可以获取,可以修改(页面跳转)
window.location.hostname web 主机的域名
window.location.pathname 当前页面的路径和文件名
window.location.port web 主机的端口 (80 或 443)
window.location.protocol 所使用的 web 协议(http:// 或 https://)
window.location.search 请求参数(?后面的内容)

window.location.reload();
刷新页面,一般情况下给reload()传递一个true,让他刷新,并不使用缓存。缓存的东西一般为js文件,css文件等。
用这个方法可以让自己不能动的页面动起来了。刷新当前页面。

(2)window.navigator

navigator.appName 返回获取当前浏览器的名称。
navigator.appVersion 返回 获取当前浏览器的版本号。
navigator.platform 返回 当前计算机的操作系统。
以上属性已经在逐渐被抛弃了。一个新的属性将替代这些属性。

navigator.userAgent 返回浏览器信息(可用此属性判断当前浏览器)

判断当前浏览器类型的代码:
function isBrowser() {var userAgent = navigator.userAgent;//微信内置浏览器if(userAgent.match(/MicroMessenger/i) == 'MicroMessenger') {return "MicroMessenger";}//QQ内置浏览器else if(userAgent.match(/QQ/i) == 'QQ') {return "QQ";}//Chromeelse if(userAgent.match(/Chrome/i) == 'Chrome') {return "Chrome";}//Operaelse if(userAgent.match(/Opera/i) == 'Opera') {return "Opera";}//Firefoxelse if(userAgent.match(/Firefox/i) == 'Firefox') {return "Firefox";}//Safarielse if(userAgent.match(/Safari/i) == 'Safari') {return "Safari";}//IEelse if(!!window.ActiveXObject || "ActiveXObject" in window) {return "IE";}else {return "未定义:"+userAgent;}
}

(3)history

history.go(1) 参数可写任意整数,正数前进,负数后退
history.back() 后退
history.forward() 前进

(4)screen: 屏幕

window.screen.width 返回当前屏幕宽度(分辨率值)
window.screen.height 返回当前屏幕高度(分辨率值)

(5)window下的弹框方法

alert() prompt() confirm()

(6)定时器

超时定时器 间隔定时器
setTimeout setInterval
clearTimeout clearInterval

(7)window.onload

(8)window.onscroll

var scrolltop=document.documentElement.scrollTop||document.body.scrollTop; //兼容

(9)window.window.onresize

JS-BOM对象概叙相关推荐

  1. json对象、字符串-数组和数学对象中的相关方法、BOM对象、JS中的DOM操作

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 json对象 字符串对象的相关方法 获取字符串长度 length 清除两侧的空白 trim [ python的strip ] ...

  2. 重操JS旧业第十一弹:BOM对象

    BOM对象即浏览器内置对象,现今流行的浏览器内核有Safri,Firefox,Chrome,Opera,IE其中IE的兼容性是最蛋疼的在10及其过后还好点,但是现在IE基本上淘汰,而国内像360这种垃 ...

  3. JavaScript之BOM对象(JS函数作用域、window、history、location对象)

    文章目录 一.JS作用域 二.window窗口 三.history对象 四.location对象 本篇文章来简单介绍一下JS作用域,以及BOM对象中的三个基础对象,分别是window对象.histor ...

  4. 【黑马JS笔记】BOM对象DOM对象事件

    DOM:文档对象模型,将标记语言文档的各个元素封装为一个对象,通过树结点的方式控制html文档内容 在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点: ...

  5. day04【JS高级】BOM对象、Window对象、二种定时器、 Location对象、DOM对象、DOM获取元素、DOM操作内容、DOM操作属性、DOM操作样式、DOM操作元素(标签)、 正则表达式

    回顾 1. js基础语法运算符:算数运算符可以与字符串进行数学运算,js底层进行隐式转换比较运算符:===(恒等) 特点,比较类型+内容流程控制语句if判断条件表达式:1)布尔2)数值:非0为真3)字 ...

  6. 前端05.js入门之BOM对象与DOM对象。

    一.关于BOM对象. BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关的动作. 用于操控用户浏览器. 1. ...

  7. JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  8. JavaScript进阶(二):BOM对象详解

    文章目录 前言 一.Window 对象 1.使用(调用)方式 2.Window 对象的方法 2.1 三个带弹出框的方法 2.2 与打开和关闭有关的方法 2.3 与定时器有关的方法 3.Window 对 ...

  9. BOM对象、cookie、session

    BOM对象.cookie.session 1.window.onload 和 document.onDOMContentLoaded 有什么区别? window.onload:页面所有资源加载完成 d ...

最新文章

  1. 使用seafile搭建自己的百度云
  2. 2015-07-22 JQuery 第二课(JQ元素获取,添加,删除,判断,遍历,取值,样式设置,改变对象,切换)...
  3. 关于WPF中Popup中的一些用法的总结
  4. datagrid数据导出到excel文件给客户端下载的几种方法
  5. Web前端工作笔记012---IE8兼容_WebSocket
  6. 机房收费系统个人重构版:透过文档谈文档驱动开发
  7. Excel小技巧--如何禁止在某一列或某一区域输入重复内容
  8. js,vue 上传图片前压缩图片(无损压缩,保持在2M以内)
  9. OPNsense防火墙搭建实验环境,MSF与SSH进行流量转发
  10. java 修改文件编码_java中怎么获取、设置文件编码格式?
  11. H5清理微信缓存的方案
  12. Hi3516A开发--板卡烧写
  13. 云办公系统 skyeye v3.7.16 部分企业版开源
  14. 印度的“健康码”:Aarogya Setu为何会失败?
  15. 企业成长能力分析的指标是什么
  16. 【mysql】关闭mysql缓存的方法
  17. Android通讯录模糊匹配搜索实现(号码 首字母 简拼 全拼)
  18. 【读点论文】SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE
  19. presume_英语中Assume和Presume的区别
  20. 【AFSA TSP】基于matlab改进的人工鱼群算法求解旅行商问题【含Matlab源码 1479期】

热门文章

  1. python的分支结构使用if保留字_python程序的三种控制结构
  2. 【调音小栈】普瑞声纳Revelator io24直播关联机架驱动跳线设置教程
  3. 玩转微信小程序 之 初步了解微信小程序(2019/04/05)
  4. php快递查询接口,一次接入顺丰、京东、申通、圆通、韵达、中通、天天、百世、邮政、EMS等主流快递公司
  5. 武汉科技大学计算机学院 刘静,武汉科技大学考研研究生导师简介-刘静
  6. 贪心算法-数列极差问题(对前篇文章的修改)
  7. 敏捷个人俱乐部(北京)线下活动 开始报名了!
  8. H5中 JS 禁用安卓手机物理返回键 , 微信浏览器中也支持
  9. spring boot + shiro 实现登陆 踢出用户功能 (挤人) 以及UnknownSessionException异常问题 记住我功能
  10. CogResultsAnalysisTool工具