初学JavaScript的时候,总是会有一个疑问,为什么JS这门语言既感觉很简单,有感觉很繁琐,简单是因为它的宽松的风格,不像其他强类型语言那么严格,繁琐的是JS这门语言,又是什么ES6,又是什么DOM、BOM的。不像Python之类的语言就是Python。那么JS到底是什么,它又是由哪几部分构成的呢?
JavaScript 是一种具有函数优先的轻量级,解释型的编程语言,是一种弱类型的编程语言,由于它是作为开发Web页面的脚本语言,所以JS这门语言跟浏览器(BOM)和网页(DOM)有着密不可分的关系,所以它的组成部分也离不开宿主环境浏览器和操作对象网页了。
JavaScript由以下三个部分组成:
1、ECMAScript
ECMA是欧洲计算机制造商协会英文缩写。ECMAScript规定了JS的核心语法,如语法, 数据类型,关键字,保留字,运算符,对象等,它相当于JavaScript的"骨架",定义了JS这门语言的"基本样子",只有有了这个骨架,才能对它进行拓展,ECMAScript的版本也会一直更新,每一次的更新也是更加的完善JavaScript。
2、文档对象模型(DOM)
DOM是“Document Object Model”的缩写,简称文档对象模型,由W3C指定规范。DOM定义了JavaSCript操作 HTML 文档的接口,提供了访问 HTML文档(body、div、p等)的途径和操作方法。当浏览器载入 HTML 文档后,将整个文档规划成由节点构成的节点树,文档中的每个部分都是一个节点。
主要包含内容:DOM树(DOM规定HTML文档中的每一个元素都是一种节点)、查找文档、节点操作、css属性操作、事件event等等
3、浏览器对象模型(BOM)
BOM是“Browser Object Model”的缩写,简称浏览器对象模型。BOM定义了JavaScript操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小,版本信息,浏览历史记录等)的途径和操作方法。
BOM 只是 ECMAScript 的一个扩展,它并没有任何相关标准,W3C也没有对该部分作出规范,不同的浏览器有自己的BOM实现,所以东西也是很繁杂的。
我们已经大致的了解了一下JS的基本组成,内容有点多,但是我们今天只聊一聊BOM中的window对象,后期会不断更新其他对象信息
BOM中的window对象:
Window 对象是浏览器的窗口对象。在浏览器中,Window 对象是JavaScript的全局对象,所有的表达式都在当前的环境中计算。
上图是我在网上找的一种window对象结构图:
Window 对象:浏览器窗口对象
Location 对象:浏览器URL地址对象
Screen 对象:屏幕对象
Navigator 对象:浏览器对象
History 对象:浏览记录对象
Document 对象:文档对象
由于 Document 对象中包含的内容太多,因此,W3C 组织将 Document 对象单独提出来,形成了一套独立的规范,命名为 DOM。
Window对象有很多自带的属性,常用的属性如下:
window对象常用方法:
下面我们再来看看这些常用属性及方法的使用:
Window对象调用属性和方法是可以省去前面的window.,也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 window.alert()
除了上面列出的属性和方法,Window 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。
领取专属 10元无门槛券
私享最新 技术干货