8. BOM
五大BOM对象:
- window
 - location
 - screen
 - history
 - navigator
 
8.1 window对象
- BOM的核心对象就是
window- JavaScript访问浏览器窗口的一个接口
 - ECMAScript规定的Global对象
 
 - 全局作用域中定义的变量和函数都会成为
window对象的属性和方法- 删除问题      
var定义全局变量不能通过delete操作符删除- 而直接在window对象上定义的属性可以
 - 因为
var添加的window属性的[[configurable]]特性的值为false 
 - 未定义问题      
- 如果一个变量未定义,全局访问会报错
 - 如果以window属性访问则返回undefined
 
 
 - 删除问题      
 
var name = "hello world";
window.anotherName = "hello javascript";
delete window.name; // false 无法删除
delete window.anotherName; // true
console.log(anyWord); // not defined
console.log(window.anyWord); // undefined
  - 窗口位置    
- screenTop & screenLeft
 
 - 窗口大小    
- innerWidth,innerHeight & outerWidth, outerHeight
 - clientHeight, clientWidth
 
 - 导航和打开窗口    
window.open(url)- 第二个参数可以是窗口或框架名      
- _self, _parent, _top, _blank
 
 - 第三个参数是逗号分隔的名值对儿      
"height=400,width=400,top=100,left=100,resizable=yes"
 
 - 间歇调用和超时调用    
setTimeoutsetInterval- 接收要执行的字符串,在全局作用域中执行
 
 - 系统对话框    
alertconfirmpromptfindprint
 
8.2 location对象
location对象- window.location和document.location引用的是同一个对象
 hashhosthrefpathnamehostnameportprotocolsearch- “?language=javascript&number=4” 解析url字符串得到参数
 
- 位置操作    
window.location = 'http://www.baidu.com'赋值字符串,返回对象,神奇!window.location.href = "http://www.baidu.com"- 每次修改location的属性(除hansh外),页面都会重新加载URL
 - 浏览器会计入历史记录
 replace不会记入历史记录reload重新加载当前页面reload()从缓存加载reload(true)从服务器重新加载
 
8.3 navigator对象
navigator对象- 浏览器、电脑、cpu等客户端信息
 - 插件 plugins
 - 注册处理程序 registerContentHandler
 
8.4 screen对象
screen对象- availHeight
 
8.5 history对象
history对象history.go(-1)back()和forward()length检测是否是用户历史记录中的第一个页面length == 0

京公网安备 11010502036488号