【JS】JS历史

175 阅读7分钟

一、学习JS的必备能力

(一)软能力

  1. 逻辑能力
  2. 先质疑自己,在质疑电脑! 时常更新自己学过的知识
  3. 抽象思维

(二)硬能力

  1. 足够的代码量
  • 新手1000行;熟手10000行;专业选手50000行

  • 如何统计自己的代码行数

    ①安装:yarn global add cloc

    ②统计一个仓库里的有效代码cloc --vcS=git .

    ③注意: 如果仓库里有node_ modules 目录等不相关内容,需要把/node_ modules/ 写入.gitignore 文件

  1. 知道足够的概念

①常用常考

  • 闭包、原型
  • 类、继承
  • MVC、Flux
  • 高阶函数
  • 前端工程化

②如何积累

  • 在课程中提炼
  • 在大脑中思考
  • 在博客上总结
  • 在代码中实践
  1. 有足够的踩坑经验
  • 不是工作经验
  • 何谓专家:把该领域内所有的错误都犯完的人,就是专家
  • 如何踩坑:做项目,而且是个人项目。 个人项目的意思是所有代码都是你一个人写的,这样你才能全方位踩坑。
  • 记住把踩过的坑记下来!

二、JavaScript的诞生

(一)发明者--布兰登

  1. 生平
  • 1961年生于美国
  • 物理学转数学与计算机学位
  • 工作七年,负责操作系统与网络开发
  • 又工作三年,负责微内核与电子信号处理相关工作
  • 1995年进入网景公司,为其浏览器开发了JS功能
  • 1998年协助成立Mozilla.org,担任首席架构师
  • 网景死亡后,他成立了Mozilla基金会,Firefox 就是 这个基金会维护的,有纪录片记录了这一过程
  • 2014年晋升为Mozilla的CEO,十天后,被赶下台 原因是他曾捐助过反同性恋的法案(只有异性可结婚)
  • 2015年成立Brave公司, 开发保护用户隐私的浏览器

(二)JavaScript的诞生

  1. 布莱登1995年临危受命
  • 公司要求给浏览器添加一个脚本功能
  • 公司要求这个脚本必须蹭Java的流量
  • 布莱登花十天设计了JS的最初版本(不是实现)
  1. JS的命名
  • Mocha摩卡=> LiveScript => JavaScript
  • Java既是编程语言,也是一-种咖啡
  • 浏览器一开始同时就支持Java和JavaScript。后来,JS胜了(在浏览器上)

三、浏览器大战

1、微软的跟进

  • 1996年8月IE 3发布,支持JScript (微软实现的 JS)
  • 浏览器大战开始,每家浏览器的脚本不太一样

2、网景的反击

  • 1996年11月,网景向ECMA提交语言标准,由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript

3、网景之死——被收购

  • 微软的IE浏览器由于捆绑进了Windows,很快超越
  • 1998年, 网景浏览器节节败退, 公司陷入内忧外患
  • 同年, 公司打算搏一搏,将浏览器开源(Firefox)
  • 最终, 市场并没有因为开源而重新青睐网景
  • 年底,美国在线AOL宣布开始收购网景
  • 收购后,网景团队里的程序员纷纷被解雇
  • 布莱登在之后一直协助维护Firefox的运营

4、IE6如日中天

  • 2001年,,IE 6随着Windows XP一起发布
  • 2004年,IE 6全球市场占用率80%以上
  • 然而,这款浏览器却不兼容W3C标准(主要是CSS),IE 6也不断爆出安全漏洞
  • Firefox打算涅擊重生,重新打败IE
  • 2005年,IE 7发布,但打不过IE 6
  • 2006年,主流浏览器为IE 6和Firefox(百分之十几的份额)
  • 2010年,中国的大部分浏览器还是IE 6,由于盗版Windows XP在中国的风行,在很多年里,IE 6始终占据中国浏览器市场,是前端开发者的恶魔

5、Chrome横空出世

(1)微软的懈怠

  • 由于IE 6的巨大成功,微软觉得再花费精力不值得, 而且没有竞争对手,所以直接解散了IE 6开发团队
  • Firefox的出现让微软重新组建IE团队,但不是同一队人,造成IE 7、8一直问题不断

(2)谷歌抓住机会

  • 2004年,谷歌雇用了一些Firefox和IE的开发者
  • 2008年,Chrome终于发布,迅速拿下1%份额
  • 2011年,Chrome份额超过Firefox
  • 2016年,Chrome 全球份额62%

6、移动市场兴起——智能手机崛起

  • 2010年,iPhone 4发布
  • 2011年,微软和Nokia联合起来,打算搞一波事情。后来的事情大家都知道,Nokia 手机业务完了
  • 也就是说,手机上基本没有IE了。前端程序员表示欣喜若狂,IE终于快要死了
  • 2016年,淘宝天猫宣布不再支持IE6、IE7。同年年底,宣布不再支持IE 8
  • 移动市场的兴起,让中国前端摆脱IE十年的恐怖支配
  • 从此,前端快速,不对,是极速发展

四、ECMAScript标准的制定

1、历程

  • 1997年6月, 第一版ECMAScript发布
  • 1999年12月,第三版发布,这个版本ES3使用最广(IE6支持,总体评价:垃圾)
  • 第四版,流产。那些年都是IE,而IE又觉得自己牛,用不着这些新的功能
  • 2009年12月,第五版发布,增加了一些功能(总体评价:还是垃圾)
  • 2015年6月,第六版发布,新浏览器都支持这一版ES6(总体评价:一半垃圾一半好)
  • 之后每年发布一版,版本号以年份命名
  • ES2019与ES6差别不大

:为什么说ES 6一半垃圾

  • 一半垃圾来源于ES3、ES5
  • 因为ES不能删除以前的特性,要兼容旧网站,也就是说以前能运行的网站,以后都要能运行
  • 对比Python 3你就能知道兼容的好处:稳定

2、JS与ECMAScript的关系

  • ECMAScript是纸上的标准,JS是浏览器的实现
  • 纸上标准往往落后于浏览器,因为先实现,再写进标准

五、JavaScript兴起

杀手级应用Gmail

  • 2004年愚人节,谷歌发布Gmail在线网页
  • 当时的人们认为网页只能用来看新闻和图片
  • Gmail的发布让用户和开发者眼前一亮
  • 2005年,Jesse 将谷歌用到的技术命名为AJAX
  • 从此,前端技术正式出现
  • 在此之前的网页开发都是由后端和设计师完成
  • 2006年,jQuery 发布,是目前最长寿的JS库
  • 后来的十年,jQuery 大发异彩,直到IE不行了,
  • jQuery才稍微没有那么火

六、中国的前端

  1. 正式出现时间:2010年左右,中国才有专门的前端岗位
  2. 前端的来源
  • 一部分来自自学的后端程序员,他们把Java的思想代入JavaScript,面向对象成了JS的主流思想
  • 一部分来自设计师,他们开始学习CSS,并独创了「重构工程师」岗位(现已没落)
  1. 缺人
  • 最应该产出前端人才的大学,迟迟没有相关课程
  • 由于早期前端工资比不上后端,所以大部分人选后者
  • 就如同现在很多高材生选择机器学习一样
  • 一些不小心进入前端领域的科班生成长非常迅速

七、JavaScript爆发

  1. V8快如闪电
  • Chrome的JS引擎叫做V8 (V1到V7是啥)
  • 2009年,Ryan基于V8创建了Node. js
  • 2010年,Isaac 基于Node.js写出了npm
  • 前端工程师可以在浏览器之外执行JS了,Node.js快速风靡
  • 同年,TJ受Sinatra启发,发布了Express.
  • 从此,前端工程师可以愉快地写后端应用了!
  1. 爆发

这期间出来的技术太多,: gulp、grunt、 yeoman、requirejs、 webpackAngularReactVue 等。这些技术很多也已经过时了

八、参考文章