BOM
1.window对象
1.1全局作用域
全局作用域中声明的变量、函数都会变成window对象的属性和方法。
var age = 29;
function sayAge(){
alert(this.age);
}alert(window.age);
sayAge();
window.sayAge();
以上可以通过window.age访问变量age
可以通过window.sayAge()访问函数sayAge().
1.2窗口关系及框架
每个框架都拥有自己的window对象,并且保存在frames集合中,在frames集合中,可以通过数值索引(从0开始,从左至右,从上至下)
例:window.frames[0] 或者 window.frames["name"]
top:始终指向最高(最外)层框架,也就是浏览器窗口top.frames[0] 或者 top.frames["name"]
parent:父对象始终指向当前框架的直接上层框架self:它始终指向window 可以和window互互换使用。
1.3窗口位置
//将窗口移动到屏幕左上角
window.moveTo(0,0);
//将窗口向下移动100像素
window.moveTo(0,100);
//将窗口移动到(200,300)
window.moveTo(200,300)
//将窗口向左移动50像素
window.moveBy(-50,0)
1.4窗口大小
属性:innerWidth 、inderHeight、outerWidth、outerHeight。
outerWidth、outerHeight是返回浏览器本身的大小
innerWidth 、inderHeight表示该容器中页面视图区的大小(减去边框的宽度)
方法:resizeTo()、resizeBy()调整浏览器窗口的大小
//调整到100*100
window.resizeTo(100,100);
//调整到200*150
window.resizeBy(100,50);
//调整到300*300
window.resizeTo(300*300);
区别resizeTo() 接收浏览器窗口的新宽度和高度 resizeBy(); 接收新窗口与原窗口的宽度和高度之差
1.5导航和打开窗口
window.open()导航到一个特定的URL 可接收4个参数 要加载的URL、窗口目标、一个特定字符串以及一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值
window.open("www.baidu.com","topName")
window.open("www.baidu.com","topName“,"height=400,width=400,top=10,left=10")
1.6间接性调用和超时调用
超时调用需要使用window对象的setTimeout()方法,
接收两个参数:要执行的代码和以毫秒表示的时间
setTimeout(function(){ alert("hello world");}, 1000);
只要是在指定的时间尚未过去之前调用clearTimeout() ,就可以完全取消超时调用setInterval() 间歇调用
1.7系统对话框
alert()、confirm()、prompt()
2.location对象
location对象的属性hash、host、hostname、href、pathname、port、protocol、search
位置操作assign()
location.assign("http://www.baidu.com");/
/假设初始URL为http://www.wrox/com/WileyCDA
//将URL修改为“http://www.wrox/com/WileyCDA/#section1”
location.hash="#section1"
//将URL修改为“http://www.wrox/com/WileyCDA/?q=javascript”
location.search='?q=javascript';
//将URL修改为“http://www.baidu.com/wileyCDA
location.hostname = "www.baidu.com";
//将URL修改为“http://www.baidu.com/mydir/"
location.pathname = "mydir";
//将URL修改为“http://www.baidu.com:8080/wileyCDA"
location.port = 8080;
replace()导航到一个新URL,同时该URL会替换浏览器历史记录中当前显示页面重新加载当前页reload()
3.navigator对象
navigator对象提供了与浏览器有关信息,到底提供哪些信息,很大程度上取决于用户的浏览器;不过也有一些公共的属性存在于所有浏览器中
4.screen对象
5.history对象