BOM学习
ECMAScript的数据属性
1、[[Configurable]]、[[Enumberable]]、[[Writable]]、[[Value]]
如果直接在对象上定义属性他们的默认值是:true;
2、通过调用Object.defineProperty()方法创建新属性他们的默认值为:false;
例子:
//默认为true的情况
var person = {name:"Nase"};
Object.defineProperty(person,"name",{
//默认为writable:true,
value:"Nase"
});
alert(person.name);
person.name = "glass";
alert(person.name);
输出:Nase,glass
//默认为false的情况
var person = {};
Object.defineProperty(person,"name",{
//默认为writable:false,
value:"Nase"//新建一个name:"Nase";属性
});
alert(person.name);
person.name = "glass";
alert(person.name);
输出:Nase,Nase
top
返回最顶层的祖先窗体
获取浏览器窗口大小
innerWidth / innerHeight,
outerWidth / outerHeight,
document.documentElement.clientWidth / document.documentElement.clientHeight,
document.body.clientWidth / document.body.clientWidth
setInterval,setTimeout
一般认为,使用setTimeout来代替setInterval是一种最佳的方式
原因:setInterval可能会出现在前一个调用结束之前启动。
总结
BOm对象:window、top、parent、location、navigator、screen、history