BOM浏览器对象模型
浏览器对象模型的核心是window
window 是js的根对象
window.可以省略
作用域
var age = 29;
var sayAge = () => console.log(this.age);
console.log(window.age); // 29
sayAge(); // 29
window.sayAge(); // 29
结合之前上文,window可以省略,可以近似看为
var age = 29;
var sayAge = () => console.log(this.age);
console.log(age); // 29
sayAge(); // 29
这里,变量 age 和函数 sayAge()被定义在全局作用域中,它们自动成为了 window 对象的成员。 因此,变量 age 可以通过 window.age 来访问,而函数 sayAge()也可以通过 window.sayAge()来访问。 因为 sayAge()存在于全局作用域 如果在这里使用 let 或 const 替代 var,则不会把变量添加给全局对象
let age = 29;
let sayAge = () => console.log(this.age);
console.log(window.age); // undefined
sayAge(); // undefined
window.sayAge(); // TypeError: window.sayAge is not a function
window.可以省略也是因为window的对象都暴露在全局作用域中,比如 location 和 navigator。
属性
| 属性 | 描述 |
|---|---|
| innerWidth | 浏览器内宽度 |
| innerHeight | 浏览器内高度 |
| outerWidth | 浏览器外宽度 |
| outerHeight | 浏览器外高度 |
| screen.width | 屏幕分辨率宽度 |
| screen.height | 屏幕分辨率高度 |
方法
| 方法 | 描述 |
|---|---|
| alert | 页面弹出 |
| prompt() | 弹出带有输入框弹窗 |
| confirm("确定要删除吗?") | 弹出确认框,返回boolean类型 |
| opean("打开URL地址") | 在新窗口打开链接 |
| close | 关闭当前窗口 |
| scrollTo(x,y) | 将滚动条指定到莫一位置 |
| scrollBy(x,y) | 根据指定的偏移量进行滚动 |
| setInterval(function(){},毫秒) | 根据给定时间反复执行 |
| clearInterval(定时器,名称) | 停止setInterval定时器 |
| setTimeout(function(){},毫秒) | 在给定的时间之后执行一次 |
| clearTimeout(function(){},毫秒) | 停止setTimeout定时器 |
注意:在js、执行过程中如果遇到定时器,会自动将定时器放在下一个队列执行
console
onsole 对象是 windows子对象,提供了对浏览器控制台的接入,可以在任何全局对象中访问,被浏览器定义为 Window.console
//
console.log("%c hello","color red")
//
console.dir
//
console.error
//
console.warn
//
console.time
//
console.timeEnd
//
console.table
//