乐趣区

JavaScript的结构组成梳理

作为前端开发,每天都在跟 JavaScript 打交道,感觉很了解它,也翻过几遍《JavaScript 高级程序设计》,始终没有建立起对它的整体认识,现在建立吧。
JavaScript 经历了残酷的竞争,至今可以毫不夸张的说,已经统治了 web 世界。
JavaScript 可以分为三部分:ECMAScript、DOM 和 BOM。
ECMAScript 是 JavaScript 的核心, 规定了这门语言的数据、语法、结构等基本概念。Global 是 ECMAScript 最顶级的对象(兜底对象), 但体现在代码中它是不存在的。在 JavaScript 脚本中使用此对象, 会报错(not defined), 但是 ECMAScript 规定 Number、Boolean、Object、NaN、Math 等对象都是 Global 对象的属性。
DOM 是文档对象模型, 是 ECMAScript 操作 HTML 的 API。document 是 DOM 的实例对象,表示整个 DOM 文档。整个文档元素表示:document<!DOCTYPE html> 表示:document.doctype 或者 document.childNodes[0]<html> 元素的表示:document.documentElement 或者 document.childNodes[1]<head> 元素的表示:document.head(只有 Chrome 和 Safari 实现)<body> 元素的表示:document.body 文档信息:document.title(标题)、document.URL(完整 url)、document.domain(页面的域名)、document.referrer(连接到当前页面的页面 url)获取元素的方法:getElementById(),getElementsByTagName(),getElementsByName()。
BOM 是浏览器对象模型, 是 ECMAScript 操作浏览器的 API。window 是 BOM 的核心对象,表示一个浏览器实例。它还充当着 ECMAScript 中的 Global 对象,因此网页中定义的变量、对象、函数等都是它的属性。window 对象浏览器相关的属性和方法:screenLeft 和 screenTop 表示窗口相对屏幕的位置 (moveTo() 和 moveBy()表示移动窗口的方法)。innerWidth 和 innerHeight 表示视窗的大小 (resizeTo() 和 resizeBy()表示改变视窗的方法)。open()和 close()方法表示打开和关闭某一 URL 的方法。setTimeout()和 setInterval()表示延时调用和间歇调用方法 (毫秒数表示此毫秒后将任务添加到任务队列)。alert()、confirm() 和 prompt()为系统弹出提示框方法。location 对象:是 window 的属性,也是 document 的属性,即为应用同一属性。https://test.com.cn:8080/search/#info?wd=javascript(protocol、host、hostname、port、pathname、hash、search、href 和 assign()、replace()、reload(), 八个属性三个方法)。navigation 对象:记录浏览器相关参数。screen 对象:记录显示器相关参数。history 对象:go()、back()、forward()方法。

退出移动版