有关BOM的详细属性和方法请参阅相关文档,这里只列举常用的属性和方法,不做其他赘述。
window
window
表示浏览器的一个实例。它既是通过JavaScript
访问浏览器窗口的一个接口,又是ECMAScript
规定的global
对象。所有在全局作用域声明的变量和函数都会成为window
对象的属性和方法。全局变量不能通过delete
操作符删除(通过var
在全局作用域中定义,其configurable
为false
),而直接在window
对象上定义的属性可以。
frames
类数组对象,保存着页面中所有的框架,通过数字索引(从0
开始,从上到下,从左到右)访问相应的window
对象。top
始终指向最外层框架,也就是浏览器窗口。parent
指向当前框架的直接上层框架。self
始终指向window
,实际上,self
和window
对象可以互相访问。name
框架的名称。
window.open()
既可以导航到一个特定的URL
,也可以打开新的浏览器窗口。
setTimeOut()
、clearTimeOut()
间歇调用。setInterval()
、clearInterval()
超时调用。
系统对话框:alert()
、confirm()
、prompt()
function inputName() {
var areYou = prompt("What't is you name?", "your name");
if (areYou !== null && areYou !== "your name") {
if(confirm("Is your name " + areYou + "?")) {
alert("Your name is " + areYou);
} else {
inputName();
}
} else {
alert("Please input your name again!");
inputName();
}
}
inputName();
location
location
提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。它既是window
对象的属性,也是document
对象的属性。也就是说。window.location
和document.location
引用的是同一对象。
-
查询字符串参数
function getQueryStringArgs() { var qs = (location.search.length > 0) ? location .search.substring(1) : '', //取得查询字符串并去掉开头的问号。location.search获取URL中的查询字符串 args = [], //保存最终数据的数组 items = qs.length ? qs.split('&') : [], //将每一项名值对分隔开保存在items中 item = null, //设置每一项名值对 name = null, //每一项的名 value = null, //每一项的值 len = items.length; for (var i=0; i<len; i++) { item = items[i],split('='); //将每一项名值对的名和值分割开保存在数组中 name = decodeURIComponent(item[0]); //保存名。decodeURIComponent()解码 value = decodeURIComponent(item[1]); //保存值 if (name.length) { args[name] = value; } } return args; }
位置操作
location.href
常用来打开新的浏览器位置。location.replace()
接受一个URL
,跳转到这个位置,但不会再历史记录中生成新的记录。location.reload()
如果页面没有改变,从缓存中重新加载,否则从服务器加载。如果为其传递参数true
,则强制从服务器重新加载。
navigator
navigator
对象多用于检测浏览器类型。
-
检测插件
//检测插件(IE中无效) function hasPlugin(name) { name = name.toLowerCase(); for (var i=0; i<navigator.plugins.length; i++) { if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) { return true; } } return false; } //检测IE中的插件 function hasIEPlugin(name) { try { new ActiveXObject(name); return true; } catch(ex) { return false; } } //检测所有浏览器中的Flash插件 function hasFlash() { var result = hasPlugin('Flash'); if (!result) { result = hasIEPlugin('ShockwaveFlash.ShockwaveFlash'); } return result; }
screen
screen
对象用来表明客户端的能力,包括浏览器窗口外部的显示器信息。
history
history
对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
history.go()
接受要前进或者后退的页面数。正数前进,负数后退。history.back()
后退一页,相当于history.go(1)
。history.forward()
前进一页,相当于history.go(-1)
。history.length
历史记录的数量。
转载请注明出处:https://segmentfault.com/a/1190000004592551
文章不定期更新完善,如果能对你有一点点启发,我将不胜荣幸。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。