前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >15·灵魂前端工程师养成-JavaScript历史

15·灵魂前端工程师养成-JavaScript历史

作者头像
DriverZeng
发布2022-09-26 16:48:24
3190
发布2022-09-26 16:48:24
举报
文章被收录于专栏:Linux云计算及前后端开发

-曾老湿, 江湖人称曾老大。


-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长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

代码语言:javascript
复制
<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每次都走对了风口

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学习JS的基本要求
  • JavaScript的历史
  • JavaScript爆发
相关产品与服务
运维安全中心(堡垒机)
腾讯云运维安全中心(堡垒机)(Operation and Maintenance Security Center (Bastion Host))可为您的 IT 资产提供代理访问以及智能操作审计服务,为客户构建一套完善的事前预防、事中监控、事后审计安全管理体系,助力企业顺利通过等保测评。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档