js简介
javascript简称js,浏览器脚本语言,应用最多的就是在浏览器里面。
现在经过多方发展,js应用场景已比较丰富:
- 服务器脚本 nodejs
- 跨平台开发 react native (可开发 ios,Android)
- 桌面应用开发
- 嵌入式开发
后两种用的不多
js组成
js有三部分组成,分别是:
- 核心 ECMAScript
- 文档对象模型 DOM
- 浏览器对象模型 BOM
ECMAScript
ECMA全称是欧洲计算机制造商协会,ECMA规定了如下一些与平台无关的东西
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
ECMAScript是对实现ECMA标准的语言描述。ECMAScript与平台无关。
其实实现ECMAScript的不经有javascript,还有actionScript等
文档对象模型DOM
DOM是经过扩展用于操作HTML的应用程序编程接口
DOM操作集中在CURD上即:
- C 创建DOM节点
- U 更新DOM节点
- R 查询DOM节点
- D 删除DOM节点
扩展后的DOM已经包括文档的结构和样式操作,即js里对样式的修改也属于DOM部分
DOM其实是一种标准,与语言无关。javascript实现了DOM标准,同样PHP、SVG、Math ML等也实现了自己的DOM标准
BOM
前端里让人头疼的一个问题就是兼容,同一段代码在不同的浏览器里可能有不同的表现,大部分就是不同浏览器对BOM的不同实现导致的。
BOM是浏览器对象模型,用来处理浏览器窗口和框架。
与BOM相关的五个对象:
- window 全局对象,BOM的核心对象
- location 与当前文档相关信息和导航对象
- navigator 识别客户端浏览器的对象,有些WEB api 也存储在次对象里,比如摄像对对象 navigator.getMedia
- screen 存储浏览器屏幕信息,包括窗口长宽,可视区域的长宽等
- history 存储用户上网历史纪录,每个窗口有一个history对象,常用的history.go()方法