# JavaScript 的前生今世

# 诞生

90 年代, 英国的李爵士搞出了WWW(万维网), 使得当时的人们可以在电脑上浏览网页, 虽然很简陋. 但问题是李爵士的浏览器并不好用. 所以网景公司推出了他们的浏览器Mozilla, 果然一经面世就大受欢迎. 过了几年, 网景公司想让浏览器的功能更丰富, 所以需要一门脚本语言去实现. 这时, Java这门语言正是时下风靡的时候, 号称可以"write once, run anywhere". 这个特点吸引了网景公司, 遂与Sun公司探讨合作的事情. 双方谈的不错, 很快便敲定了. 让网景的Mozilla浏览器搭载一门新的语言, 至于命名也想蹭一蹭Java的热度. 随即命名为JavaScript. 网景将语言的设计交给布兰登. 由于时间紧任务多, 他花了10天就把这门语言搞出来了. 当时没人会知道这门语言会在世界范围内广泛地使用, 布兰登作为语言设计者也是这么想的. 因此给JS留下了许多设计问题(Javascript的10个设计缺陷).

# 成长

借助着脚本语言, 浏览器可以实现比以前更多的功能. Mozilla的份额在不断上升. 微软公司也想分得一杯羹, 他们把自家的IE浏览器捆绑在了Windows操作系统里. 这招着实有效, IE迅速地拿下了浏览器市场的大头部分. 可是IE浏览器并不支持JavaScript, 而是支持自家的JScript作为浏览器的脚本语言. 这使得JavaScript进入了长达10年的停滞期, 这段时间一直都是IE, 特别是IE6的天下.

# 标准: ECMAScript

在与微软竞争的时候, JavaScript过早地提出了标准, 以压制微软. 首先, 标准不是代码, 而是一个文档, 它规定这门语言该实现哪些东西. 但问题是为什么是过早地提出标准. 因为JS只是一个花了10天时间设计的语言, 许许多多的问题都没有解决, 而此时就纳入标准, 这些问题就难以得到解决. 是的, 标准换个大家都熟悉的叫法: ECMAScript.

# ES的黑暗时代: 步子太大扯着蛋

ES3是最广受应用的ES版本, 当然这些都是比较久远的事情. 现在学习前端想必都听过ES6. 小白的人就会问了: ES4, 5跑哪儿去了? 事实上, ES4是存在过的, 但是当年被提出时却遭到了各个公司的抵制, 原因是改动的东西太多, 不愿意去主动适配这些改动. ES4被暂停了, 这一停也就是10年(2000-2010). ES5也只是小修小补罢了, 所以存在感也并不强.

# 成熟

可ES6则是翻天覆地的变化, 它的出现使得JS终于能有点严肃的编程语言的模样了. ES6的发布是在2015年, 以后的新版本都会以当年的年份来作为后缀(如: ES2016, ES2019). 可为什么是2015年? 因为IE终于死了, 死在了Chrome的手里.