浏览器


作为一种脚本语言,JavaScript 代码不能独立运行,通常情况下我们需要借助浏览器来运行 JavaScript 代码,所有 Web 浏览器都支持 JavaScript。

除了可以在浏览器中执行外,也可以在服务端或者搭载了 JavaScript 引擎的设备中执行 JavaScript 代码,浏览器之所以能够运行 JavaScript 代码就是因为浏览器中都嵌入了 JavaScript 引擎,常见的 JavaScript 引擎有:

BOM

BOM(Browser Object Model)是浏览器对象模型的缩写。按照面向对象的编程思想,将浏览器抽象为几大对象,包括window、navigator、 location、screen、history、document。

window

window对象是一个全局对象,navigator、location、location、screen、history、document都是windows的成员对象。同时,window也表示浏览器窗口。

                    window.alert("欢迎访问");  //提示框
                    window.confirm("您是否确定?"); //询问框
                    window.prompt("请输入");  //输入框
                    window.setInterval(1000);  //设定时间间隔,时间单位:毫秒 
                    window.clearInterval(); //清除时间间隔
                    window.setTimeout(1000); //倒计时多少时间以后执行函数,时间单位:毫秒
                    window.open();  //打开窗体
                    window.close(); //关闭窗体
                    window.innerHeight; //浏览器窗体的内高
                    window.innerWidth;//浏览器窗体的内宽
                    window.outerHeight;//浏览器窗体的外高
                    window.outerWidth; //浏览器窗体的外宽
                

navigator

navigator对象表示浏览器的信息,最常用的属性包括:

                    console.log('appName = ' + navigator.appName);
                    console.log('appVersion = ' + navigator.appVersion);
                    console.log('language = ' + navigator.language);
                    console.log('platform = ' + navigator.platform);
                    console.log('userAgent = ' + navigator.userAgent);
                

screen

屏幕对象

                    console.log(screen.height)  
                    console.log(screen.width); 
                    console.log(screen.colorDepth);
                

location

location对象代表一个网页的地址信息

                    location.href = www.example.com:8080/path/index.html?a=1&b=2#TOP
                    location.protocol; // 'http'
                    location.host; // 'www.example.com'
                    location.port; // '8080'
                    location.pathname; // '/path/index.html'
                    location.search; // '?a=1&b=2'
                    location.hash; // 'TOP'
                

history

history对象保存了浏览器的历史记录。对于现代Web页面来说,由于大量使用AJAX和页面交互,使用history是不可取的。

                    //history对象
                    history.back();  //前进
                    history.forward();//后退
                    history.go(-1);//后退一次
                

document

document对象代表一个页面,由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点。

document常见属性:

document常见方法:

document常用事件:

document对象应用详细介绍,请看后面章节。

本节重点: