一、BOM概念
定义了js操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径及操作方法;
window对象的属性和方法都可以省略window, 直接使用;
所有的全局变量都是window对象的属性;(变量)
所有的全局函数都是window对象的方法;(函数、循环定时器等)
var name="xiaoming";
console.log(name)//xiaoming
console.log(window.name)//xiaoming
定义全局变量和定义在window对象上的属性的区别:
全局变量不能通过delete操作符来删除;而直接在window对象上定义的属性可以。
二、window对象常用的属性和方法
1、三个弹出框:
alert('内容')----弹出框
alert('hello world')
confirm('提示信息')----确认框; 确认返回true,取消返回false
var flag = confirm("确定要付款吗?"); console.log(flag);
prompt('提示信息','默认值') 输入框返回数值为字符串;
var x = prompt("请输入数据","666"); console.log(x);
2、两个定时器
setTimeout(执行任务,执行时间) 延时定时器 第一个参数可以是字符串,也可以是一个函数。
clearTimeout()清除延时定时器
setInterval(执行任务,执行时间) 循环定时器 参数如上
clearInterval()清除循环定时器
3、弹出窗口
window.open():打开新的浏览器窗口,或者导航到一个特定的URL。
接受参数:window.open(url,窗口名称,弹出窗口外观,新页面是否取代浏览器历史记录中当前加载页面的布尔值)。
//在主窗口中打开子窗口window.open("sub.html","heihei","width=200,height=200,left=200,top=200");//关闭当前窗口window.close();
4、onload事件(延迟加载js)
作用:页面或者图像加载完成后立即发生;
注意:**onload**则是这个Image对象的load事件回调,当图片加载完成后执行onload绑定的函数
window.onload = function(){ var d = document.getElementById("t"); d.innerHTML = "666"; }
h5新属性:readyState属性。三个状态:
loading 正在加载文档
interactive 可交互 文档已被解析,"正在加载"状态结束,但是诸如图像,样式表和框架之类的子资源仍在加载。
complete 已经加载完文档
document.onreadystatechange = function () { if (document.readyState === "complete") { console.log("文档加载好"); } };
三、location对象
Location 对象包含有关当前 URL 的信息
1、页面跳转
href属性:代表当前网页;
location.href //当前网页地址
location.href='/url' 打开url页面 window.location.href和self.location.href意思一样
2、查询字符串参数
location.search 返回url的查询字符串。
function getQueryStringArgs(){
//取得查询字符串并去掉开头的问号
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
//保存数据的对象
var args = [];
//取得每一项
var items = qs.length ? qs.split("&") : [];
var item = null;
var name = null;
var value = null;
//逐个将每一项添加到args对象中
for(var i=0;i< items.length;i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
args[name] = value;
}
}
return args;
}
//假设查询的字符串是?q=javascript&num=10
var args = getQueryStringArgs();
alert(args["q"]);//javascript
alert(args["num"]);//10
3、location.replace('url')覆盖原先网页 没有浏览痕迹
location.replace("http://www.baidu.com");
4、location.reload() 页面刷新
四、history
history对象包含用户在浏览器窗口访问过的URL。
方法:
back():加载history列表中的前一个URl;
forward():加载history列表中的下一个URL;
go():加载history列表中的某个具体页面。
history.go(number|URL)
number为数字的话是表示要访问的URL在history的URL列表中的相对位置。负数为后退,正数为前进。
五、navigator对象
navigator对象表示包含有关浏览器的信息;
六、screen对象
screen对象包含有关客户端显示屏幕的信息