一、浏览器分类:
1、IE 6~11:国内用得最多的IE浏览器,历来对W3C标准支持差。从IE10开始支持ES6标准;
2、Chrome:Google出品的基于Webkit内核浏览器,内置了非常强悍的JavaScript引擎——V8。由于Chrome一经安装就时刻保持自升级,所以不用管它的版本,最新版早就支持ES6了;
3、Safari:Apple的Mac系统自带的基于Webkit内核的浏览器,从OS X 10.7 Lion自带的6.1版本开始支持ES6,目前最新的OS X 10.11 El Capitan自带的Safari版本是9.x,早已支持ES6;
4、Firefox:Mozilla自己研制的Gecko内核和JavaScript引擎OdinMonkey。早期的Firefox按版本发布,后来终于聪明地学习Chrome的做法进行自升级,时刻保持最新;
5、移动设备上的浏览器:目前iOS和Android两大阵营分别主要使用Apple的Safari和Google的Chrome,由于两者都是Webkit核心,结果HTML5首先在手机上全面普及(桌面绝对是Microsoft拖了后腿),对JavaScript的标准支持也很好,最新版本均支持ES6。
6、其他浏览器:由于市场份额太小用户太少详细了解请自行百度。还有些国产浏览器,如某某安全浏览器,某某旋风浏览器,它们只是做了一个壳,其核心调用的是IE,也有号称同时支持IE和Webkit的“双核”浏览器。
二、浏览器对象:
1、window:
①表示全局作用域:如果想访问全局变量,可以使用window.xxx进行访问,也可以直接使用window访问所有全局变量;
②表示浏览器窗口对象:该对象的innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。对应的还有outerWidth和outerHeight属性,可以获取浏览器窗口的整个宽高。
2、navigator:表示浏览器的信息,最常用的属性包括:
①appName:浏览器名称;
②appVersion:浏览器版本;
③language:浏览器设置的语言;
④platform:操作系统类型;
⑤userAgent:浏览器设定的User-Agent字符串。
3、screen:表示屏幕的信息,最常用的属性包括:
①width:屏幕宽度,以像素为单位;
②height:屏幕高度,以像素为单位;
③colorDepth:返回颜色位数,如8、16、24。
4、location:表示当前页面的URL信息,最常用的属性和方法包括:
①protocol:URL的协议;
②host:URL的主机(域名)地址;
③port:URL的端口;
④pathname:URL的pass路径;
⑤search:URL的为get请求时的条件字符串;
⑥hash:URL的锚部分;
⑦assign(url):加载用url指定的新页面;
⑧reload():重新加载当前页面。
5、document:表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点。document根节点最常用的属性和方法包括:
①title:html中<head><title>...</title></head>之间的内容;
②body:html中<body></body>之间的内容;
③cookie:当前页面的cookie。因为在HTML页面中可以通过<script src='...'></script>引入第三方的JavaScript代码,而通常用户的登录信息是存在cookie中的,为了防止用户信息被窃取,服务端设置cookie时一般使用httpOnly。
④getElementById(id):html中标签的id为指定的id的内容;
⑤getElementsByTagName(tagName):html中标签为指定的tagName的内容;
⑥getElementsByClassName(className):html中标签的class为指定的className的内容;
⑦createElement(tagName):创建一个指定标签的节点。
其他节点最常用的属性和方法包括:
①parentElement:指定节点的父节点;
②children:是只读属性,获取指定节点下所有的直属子节点,每次读取都会取最新的数据;
③firstElementChild:指定节点下的第一个直属子节点;
④lastElementChild:指定节点下的最后一个直属子节点;
⑤querySelector(tagName.className)、querySelector(tagName[attribute]):获取指定节点下的具有指定class或指定属性的指定标签名的第一个标签的内容,IE版本必须>=8;
⑥querySelectorAll(condition):获取指定节点下所有符合条件的标签的内容,IE版本必须>=8;
⑦innerHTML:指定节点中的内容,可以设置html标签放入其中;
⑧innerText:指定节点中的文本内容,只可以设置或显示不是隐藏属性的文本,设置的html标签会转译成特殊字符串;
⑨textContent:指定节点中的文本内容,可以设置或显示隐藏属性的文本,设置的html标签会转译成特殊字符串,IE版本必须>=9;
⑩style.xxx:指定节点中CSS(注意css支持中划线,但在js中需转为驼峰式命名,不支持中划线)
⑪appendChild(domNode):将已存在的节点domNode移动到指定节点下的直属的最后一个子节点;
⑫insertBefore(newDomNode,oldDomNode):将newDomNode节点插入到指定节点下直属子节点oldDomNode之前。
⑬removeChild(domNode):将指定的节点下指定的直属子节点删除;
6、history:保存着浏览器的历史浏览记录,目前不应该使用history这个对象了,只作了解。最常用的属性包括:
①back():用户浏览过的上一个网页;
②forward():用户浏览过的下一个网页。
参考:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499851683f7f8d6b7717343248a75d5e7f930def4000