[TimLinux] JavaScript BOM浏览器对象模型

1. 简介

ECMAScript是JavaScript的核心,但是如果要在WEB中使用JavaScript,那么BOM则无疑才是真的的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。BOM没有标准,各浏览器厂商间定义的公共对象,可以作为事实上的标准存在。W3C在HTML5中把BOM纳入了规范中。

2. window对象

window对象:表示浏览器的一个实例。window的双重角色:通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象,所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。与直接在window对象上定义属性和方法的区别在于删除操作:window对象上定义的可以delete,全局变量不可以被删除。

// 1. 全局变量为window对象的属性和方法
var age = 29;
function sayAge() { console.log(this.age); }

window.age; // 29
window.sayAge(); // 29

// 2. 全局变量不可删除, window对象的属性和方法可以被删除
window.color = 'red';

delete window.age;
delete window.color;

window.age; // 29, 不可删除
window.color; // undefined,可被删除

// 3. 访问全局对象未定义值会抛出异常,访问window属性不会
var newValue = oldValue; // 抛出异常
var newValue = window.oldValue; // undefined

很多全局JavaScript对象(如:location, navigator等)都是window对象的属性。

3. location对象

tbd

4. navigator对象

tbd

5. screen对象

tbd

6. history对象

tbd

7. 总结

tbd

猜你喜欢

转载自www.cnblogs.com/timlinux/p/9388820.html