js是由Dom、Bom 和 Ecmascript三个部分组成的,通常意义下我们所说的js语法其实指的是Ecmascript的各种语法。因此我们有必要去更多的了解下Bom和Dom
BOM
BOM:全称Browser Object Model,即浏览器对象模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。这个对象存在于浏览器本身的内置内容中,直接调用即可。
BOM提供了多个内置Browser对象:大概5个
-
Window 对象:表示浏览器打开的窗口,包括获取焦点、改变滚动条、设置定时器等等。
------Window 对象的方法可以直接使用
------在浏览器中Window是顶层对象:其他的如:Navigator、Screen 、–History 、Location 、Document都是其子对象。
------Window对象的所有属性和方法 -
Navigator 对象:包含浏览器信息。如:获取浏览器名称、版本信息、操作系统平台信息等等。
------Navigator对象的所有属性和方法 -
Screen 对象:包含屏幕信息。如:获取屏幕高度、宽度等等。
------Screen 对象的所有属性和方法 -
History 对象:可对当前页的浏览历史进行操作,如:前进、后退等。
------History 对象的所有属性和方法 -
Location 对象:可对当前页面的URL进行操作,如:导航到新的页面、获取URL信息等。
------Location 对象的所有属性和方法
DOM
DOM:全程Document Object Model,即文档对象模型,是W3C组织推荐的处理可扩展标志语言的标准编程接口。DOM解决了Netscape的JavaScript和 Microsoft的JavaScript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象
DOM可以理解为HTML的一种访问和操作的标准接口。
1.Document对象
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
Document 对象的所有属性和方法
2.标签元素及其属性和方法
- 在Html中标签即指元素节点。如:a、p、span标签等,每种标签都有各自的属性或者是共同的节点属性,如:a、p、span标签都有class属性来定义样式类名称,但只有a标签有:href节点属性来定义跳转。
公共的节点属性有:https://www.w3school.com.cn/jsref/dom_obj_attributes.asp - 元素节点,如html为最外层的根节点,而body则为html的子节点,节点是可以通过js进行操作的。操作方法有:https://www.w3school.com.cn/jsref/dom_obj_all.asp
- 每个元素节点都有对应的事件句柄。如onclick、onchange
所有的事件句柄:
https://www.w3school.com.cn/jsref/dom_obj_event.asp