对于很多初学的小伙伴听到JavaScript内置对象、BOM、DOM、WEB API等关键词基本上都是迷糊,不是很明白他们之间的关系,以及他们是如果建立联系的。虽然我们现在小伙伴在学VUE,React等框架能简化我们的操作,但是遇到一些基础的问题还是要看基础,能为我们实际中解决一些问题提供更多的思路。接下来我们看一下JavaScript内置对象、BOM、DOM、WEB API都有包括哪些东西?
一、JavaScript内置对象,也是ECMAScript(ECMAScript是一种由Ecma国际,前身为欧洲计算机制造商协会—European Computer Manufacturers Association,通过ECMA-262标准化的脚本程序设计语言)的JavaScript实现,我们看一下JavaScript都有哪些内容:
二、Web API是WEB标准的实现,而WEB API又有JavaScript实现(具体的JavaScript对象类封装),当然WEB API主要有JavaScript实现,但也可能有例外,例如常用的WEB RTC在安卓平台有java实现,下面我们看一下WEB API都有哪些:
由JavaScript内置对象与WEB API的实现构成了WEB的全部内容,很多小伙伴有可能就不明白:都说了是web的全部内容怎么还是没有提到BOM和DOM?这里需要说明一下,首先我们说的是全部内容,并没有说全部实现,另外仔细观察上面WEB API图例就发现DOM属于WEB API的一部分。
三、BOM(Browser Object Model),即浏览器对象模型,可以理解为一个JavaScript运行的容器、环境,一切的JavaScript实现都在BOM里面,包括JavaScript内置对象,WEB API 的JavaScript实现等,首先看一下BOM都包括那些:
从上面我们知道Window作为BOM的最顶层对象,这是一个特殊的JavaScript对象,可以叫做全局对象,也叫宿主对象,它及其所有属性都可以在程序的任何地方访问。window对象除自身实现了一些方法例如window.open()等,JavaScript内置对象,WEB API的JavaScript实现包含于Window对象,这也是为什么叫做宿主对象的原因;而对于全局对象的解释,第一是最顶层的浏览器JavaScript对象,第二也是全局唯一的,第三我们不需要引入可以直接使用。
比如上面的代码,我们平日里面使用都是直接parseInt()函数NaN属性,console.log()等。
四、DOM即文档对象模型,是W3C制定的标准接口规范,是一种处理HTML和XML文件的标准API。我们从图三中可以看到DOM的实现根是document对象,同时又是全局对象Window的一个属性,也是一个全局属性,常用的比如document. getElementById()。
写到最后,小伙伴们应该了解了他们的关系以及联系,我们接下来章节具体的讲解JavaScript的根本Object,包括JavaScript内置对象,BOM,DOM以及WEB API等内容。