《每天十分钟》-红宝书第4版-什么是JavaScript

我相信大多数开发者都或多或少的喜欢历史。
正如"以史为镜可以知兴替"一样,对JavaScript 进行历史回顾可以帮助我们更好的掌握它

历史背景

诞生
在1995年左右,网速为28.8kb/s 的猫(调制调节器)上网,想象一下用户填写一个表单,过了30秒之后,告诉你某些信息没填,估计会损失很多键盘(手动狗头),这时候有个叫小帅的男人是网景公司的一名工程师开发了一个叫Mocha (后改名叫LiveScript) 准备用在 即将发布的当时很牛的浏览器Netscape Navigator 2 上面,网景把. LiveScript 改名为JavaScript ,以便搭上媒体当时热烈炒作Java的顺风车。你看”炒概念“这个操作不光咱们大A股有。

混战
有网景公司的推广,有很牛的浏览器加持,web正处于风口期,就这样天时地利人和的条件下,由于JavaScript 1.0很成功,网景又在Netscape Navigator 3中发布了1.1版本。那么每个新兴技术和行业的产生必然伴随着激烈的竞争,微软发布了IE3,其中包含自己名为JScript (叫这个名字是为了避免与网景发生许可纠纷)的JavaScript 实现。 两大巨头一个LiveScript 一个JScript,与之并存的还有各种版本的脚本实现, 随着业界担忧日甚,JavaScript 终于踏上了标准化的征程。

统一
“天下大事,分久必合”,1997年,JavaScript 1.1作为提案被提交给欧洲计算机制造商协会(Ecma),第39技术委员会(TC39)承担了制定统一脚本语言和语义的任务(TC39委员会由来自网景、Sun、微软、Borland 、Nombas 和其他对这门脚本语言有兴趣的公司的工程师组成。),数月之后ECMA-262,也就是ECMAScript (发音为“ek-ma-script ”)这个新的脚本语言标准产生。最终还需要有个全球国际标准,1998年,国际标准化组织(ISO)和国际电工委员会(IEC)也将. ECMAScript 采纳为标准(ISO/IEC-16262)。自此以后,各家浏览器均以. ECMAScript 作为自己. JavaScript 实现的依据,虽然具体实现各有不同。

JavaScript 实现

JavaScript 远远不限于ECMA-262所定义的那样
口核心(ECMAScript )
口文档对象模型(DOM)
口浏览器对象模型(BOM)
一图胜千言,书中原图
《每天十分钟》-红宝书第4版-什么是JavaScript_第1张图片

ECMAScript

ECMAScript ,就是统一时ECMA-262定义的标准语言,可运行在不同的宿主环境,可以是浏览器,可以是最近也逐渐成熟的Nodejs 还有被淘汰的Adobe Flash
那么我们想想,ECMA-262 到底定义了什么?
口语法
口类型
口语句
口关键字
口保留字
口操作符
口全局对象
ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了ECMAScript ,而AdobeActionScript 同样也实现了ECMAScript 。

版本

现在我们在面试或者被面试的时候通常会问ES6 的相关问题,ES6 也就是 ECMA-262第6版,于2015年6月发布。这一版包含了大概这个规范有史以来最重要的一批增强特性。ES6正式支持了类、模块、迭代器、生成器、箭头函数、期约、反射、代理和众多新的数据类型。

DOM

文档对象模型(DOM,Document Object Model)是一个应用编程接口,用于在 HTML 中使
用扩展的 XML。

比如

<html>
	<head>
		<title>这里是个标题title>
	head>
	<body>
		<p>你好,阿娇!p>
	body>
html>

DOM 将上面上面的代码会抽象为一组分层节点,然后我们程序员可使用 DOM API,可以轻松地删除、添加、替换、修改节点。比如

var div = document.createElement("div");

同样DOM 随着混战之后也形成了统一标准,万维网联盟(W3C,World Wide Web
Consortium)制定了 DOM 标准的进程。

BOM

BOM (Browser Object Model) 它提供了BOMAPI 可以让我们操作浏览器,比如

history.back(); // 等同于点击浏览器的回退按钮

我们在开发中最常用的功能
 弹出新浏览器窗口的能力;
 移动、缩放和关闭浏览器窗口的能力;
 navigator 对象,提供关于浏览器的详尽信息;
 location 对象,提供浏览器加载页面的详尽信息;
 screen 对象,提供关于用户屏幕分辨率的详尽信息;
 performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
 对 cookie 的支持;
 其他自定义对象,如 XMLHttpRequest 和 IE 的 ActiveXObject。
更多细节后续展开

小结

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
 ECMAScript:由 ECMA-262定义并提供核心功能。
 文档对象模型(DOM):提供与网页内容交互的方法和接口。
 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

最后欣赏一首孟浩然的《与诸子登岘山》
人事有代谢,往来成古今。
江山留胜迹,我辈复登临。
水落鱼梁浅,天寒梦泽深。
羊公碑尚在,读罢泪沾襟。

你可能感兴趣的:(js,《每天十分钟》红宝书第4版,javascript,开发语言,ecmascript)