- 学习JS的基本要求
- JavaScript的历史
- JavaScript爆发
-曾老湿, 江湖人称曾老大。
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
学习JS的基本要求
前端的门槛 |
---|
学习 HTML 和 CSS 相对来说会比较简单,但是学习JS,就要绞尽脑汁了。
1.要有逻辑能力
比如: JS的数据类型:number|string|null|undefined|bool|symbol|object JS的函数:不是number|string|null|undefined|bool|symbol中的任意一种
忘记上面这句话...只要你能根据上面两句话推理出下面那句话,那么证明,你是有逻辑的。
JS的函数:object
2.质疑自己的能力
不要相信人类,更不要相信自己
人类的粗心大意是必不可少的。
比如: 把0写成O 把iOS写成IOS或者ios ...
3.抽象能力
在程序猿的世界中,很多东西我们都可以看做是同一类型的东西。
比如: 订了一份报纸 关注了偶像蔡徐坤的微博 用JS坚挺了一个按钮的点击事件
那么在程序员的眼中,这三件事拥有共同的模式:发布/订阅模式
足够的代码量 |
---|
1000行:新手 10000行:熟手 50000行:专业选手
如何统计自己的代码量?
代码语言:javascript复制#安装cloc
yarn global add cloc
#统计一个代码仓库里的有效代码
cloc --vcs=git
cloc:count lines of code
统计关于代码的行数
注意:如果仓库中有node_modules目录等不相关内容,需要把node_modules写入.gitignore文件中

代码语言:javascript复制MacBook-Pro:http-demo-1 driverzeng$ cloc --vcs=git .
1 text file.
1 unique file.
0 files ignored.
github.com/AlDanial/cloc v 1.85 T=0.14 s (7.0 files/s, 456.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JavaScript 1 6 2 57
-------------------------------------------------------------------------------

JavaScript的历史
李爵士发明了HTML 赖先生发明了CSS 布兰登发明了JavaScript

JS的诞生 |
---|
临危受命
1.公司要求给浏览器添加一个脚本功能 2.公司要求这个脚本必须蹭Java的流量 3.布兰登话十几天涉及了JS的最初版本
JS的命名
1.Mocha摩卡=>LiveScript=>JavaScript 2.Java即是一种编程语言,也是一种咖啡 3.浏览器一开始同时就支持Java和JavaScript 4.后来,JS赢了,(在浏览器方面)
浏览器大战 |
---|
当JS出来的那一刻,微软跟进,立马推出一个新的产品:
1996年8月IE3发布,支持JScript(微软实现的JS,因为JavaScript被占用所以只能叫JScript)
因此,浏览器大战一触即发,每家浏览器的脚本不太一样。
后来,网景开始反击:
1996年11月,网景向ECMA提交语言标准,由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript。
网景之死 |
---|
微软做了一个决定,将IE浏览器捆绑到Windows中,很快就超过了网景浏览器的使用份额
1998年,网景浏览器节节败退,公司陷入内忧外患
内忧:内部员工有一部分觉得要跟微软拼,另一部分员工认为,根本打不过微软。 外患:外部人员,都认为IE会赢
同年,网景公司打算殊死一搏,将浏览器(Firefox)开源... 导致前端发展遇到问题。 最终,市场并没有因为开源而重新青睐网景。 年底,美国在线AOL宣布开始收购网景 收购后,网景团队里的成员纷纷被解雇 布兰登,在之后一直协助维护Firefox。
IE6 如日中天 |
---|
2001年,IE6随着WindowsXP一起发布 2004年,IE6全球市场占用率80%以上 而且,IE完全不兼容W3C标(主要是CSS),不断爆出漏洞。程序猿开发,写一套代码,还要写一套IE的代码,简直是噩梦。
Firefox打算涅槃重生,打败IE 2005年,IE7发布,但是打不过IE6 2006年,主流浏览器为IE6和Firefox,公司做了大胆决定,开除了所有的IE开发人员,因为浏览器太牛逼了,根本不需要再开发什么。 2010年,中国的大部分浏览器还是IE6
由于盗版Windows XP在中国的风行,在很多年里,IE6始终占据中国浏览器市场,是前端开发者的噩梦。
IE6神奇的bug |
---|
<style>
*{position:relative}
</style>
<table>
<input>
</table>
如果把上面的代码,放在IE6中,IE6会让你当场司机,突然去世...
让IE死亡的浏览器 |
---|
Chrome 横空出世
因为微软的懈怠,解散了IE6的开发团队,后来Firefox的出现,让微软重新组织了一个团队,但不是一个团队,IE7和IE8一直问题不断
谷歌抓住机会: 2004年:谷歌雇佣了一些Firefox和IE的开发者 2008年:Chrome终于发布,迅速拿下1%的市场份额 2011年:Chrome的市场份额超过Firefox 2016年:Chrome全球份额62%
谷歌宣传广告(主打速度快):传送门

JavaScript爆发
V8快如闪电 |
---|
Chrome的JS引擎叫做V8(V1-V7,每一个V都是不同的一门语言)
例如 JAVA虚拟机,SmallTalk虚拟机,Dart虚拟机...
2009年,Ryan基于V8创建了Node.js 2010年,Isaac基于Node.js写出了npm
这两个一结合,我们就可以在浏览器之外执行JS了
代码语言:javascript复制MacBook-Pro:http-demo-1 driverzeng$ vim demo1.js
console.log('hello world')
MacBook-Pro:http-demo-1 driverzeng$ node demo1.js
hello world
2010年,TJ受Sinatra启发,发布了Express.js 从此前端工程师可以愉快的写后端应用了。
总结 |
---|
1.JS是历史的选择
一开始浏览器支持很多东西:Java、Flash、VBScript,只有JS活到最后
2.JS低开高走
一开始JS就是一个玩具语言,但是JS每次都走对了风口