学习JavaScript的方式

Rinsann 2021年08月08日 355次浏览

学习JavaScript的方式

三段论逻辑

示例

  • JS的数据类型有number / string / null / undefined / bool / symbol / object
  • JS的函数不是 number / String / null / undefined / bool / symbol 中的任意一种
  • 所以,JS函数是object

好处

  • 写代码基本就是在编写逻辑

学习编程需要质疑自己,大部分时候错的都是自己写错了。

image20210814142235376.png

回想一下

你犯了多少错误

  1. 拼错单词
  2. 多写了空格,少写了空格
  3. 把O看成0,把0写成O
  4. 把iOS 写成 IOS 或者 ios

这不是粗心大意

  • 这是概率问题,这很难克服
  • 通过double check 可以缓解

抽象思维

举例

  • 你订了一份报纸
  • 你关注了偶像明星的微博
  • 你用JS监听了一个按钮的点击事件
  • 这三件事拥有共同的模式:发布订阅模式

好处

  • 抽象思维使你的代码能解决更多的问题
  • 而不是兵来将挡水来土掩,一个一个解决
  • 比如Vue 和 React 的作者

学习编程需要足够的代码量:

  • 达到1000行 -- 新手
  • 达到10000行 -- 熟手
  • 达到 50000行 -- 专业选手

需要靠事件积累

如何统计自己的代码行数

安装

  • yarn global add cloc
  • cloc --vcs=git .
  • 可以用来统计一个仓库里的有效代码

注意

  • 如果仓库里有 node_modules 目录等不相关内容
  • 需要把 /node_modules 写入 .gitignore 文件

学习编程还需要了解足够多的概念

不仅要会写,还要会说

概览

常用常考

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

如何积累

  • 在大脑中思考
  • 在学习中提炼
  • 在博客上总结
  • 在代码中实践

拥有足够的踩坑经验

何谓专家

  • 把该领域内所有的错误都犯完的人,就是专家

如何踩坑

  • 做项目,而且是个人项目
  • 个人项目的意思就是所有的代码都是你一个人写的
  • 这样才能全方位踩坑

总结

软要求

  • 逻辑能力
  • 质疑自己的能力
  • 抽象能力

硬要求

  • 足够多的代码
  • 足够多的概念
  • 足够多的踩坑经验

JS的概述

李爵士发明了HTML、赖先生发明了CSS、布兰登发明了JS

JavaScript诞生之初,只是一个不起眼的小功能,同时JS有很多的Bug,在学习的时候要注意辨别。

JavaScript的诞生

  • 公司要求给浏览器添加一个脚本功能
  • 公司要求足够脚本必须蹭Java的流量
  • 布莱登花了十天时间设计了JS的最初版本(不是实现)

JS的命名

  • Mocha 摩卡 => LiveScript => JavaScript
  • Java既是编程语言,也是一种咖啡
  • 浏览器一开始就同时支持Java和JavaScript
  • 后来,JS胜了(在浏览器上)

浏览器大战

微软的根据

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

网景的反击

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

ECMAScript 标准的制定

时间

  • 1997年6月,第一版ECMAScript发布
  • 1999年12月,第三版发布,这个版本使用最广
  • 第四版流产
  • 2009年6月,第五版发布,增加了一些功能
  • 2015年5月,第六版发布,新浏览器都支持这一版本
  • 之后每年发布一版,版本号以年份命名

JS与ECMAScript的关系

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

JavaScript兴起

杀手级应用Gmail

  • 2004年愚人节,谷歌发布Gmail在线网页
  • Gmail的发布让用户和开发者眼前一亮
  • 2005年,Jesse将谷歌用到的技术命名AJAX
  • 从此,前端技术正是出现
  • 再次之前的网页开发都是后端和设计师完成的
  • 2006年,jQuery发布,是目前最长寿的JS库
  • 后来的十年,jQuery大发异彩,直到IE不行了,jQuery才没那么火

JavaScript爆发

V8快如闪电

  • Chrome 的JS引擎V8
  • 2009年,Ryan基于V8创建了Node.js
  • 2010年,lsaac基于Node.js 写出了 npm
  • 前端可以在浏览器之外执行js了
  • 同年,TJ收Sinatra启发,发布了Express.js
  • 前端也可以写后端应用了

爆发

  • 这期间出来的技术很多,比如:gulp、grunt、yeoman、requirejs、webpack、Angular、React、Vue等,其中有些已经过时了

以上就是JS的历史。