一、 js 的重要性:
1、js 是根基
2、面试必问:this指针,debug 解决问题, vue, react 原理性 的问题
高级岗位: 面试js功底, 数据结构和算法,程序员内功
普通岗位: 面试js基础: 闭包,内存泄露,this,作用域作用域链,原型原型链,事件循环
js 未来
ts 增强js的特性
二、js 容易迷惑的点:
1、函数,闭包:
什么是闭包
函数(面向函数编程)和闭包
闭包的访问规则
闭包存在内存泄漏
函数的 this 指向
2、作用域
对作用域的理解
作用域提升
块级作用域,作用域链
变量对象AO,GO,VO等概念
3、面向对象
js面向对象,继承
原型,原型链等
通过原型链实现继承
4、es新特性:
es 6——12新特性
5、其他一系列知识:
事件循环,微任务,宏任务
内存管理,async,await,Promise
防抖,节流,深拷贝,浅拷贝
对象的引用
三、js 应用领域:
1、web开发:
原生js
react开发
vue开发
angular开发
2、移动端开发,
ReactNative
Weex,
3、小程序开发
微信小程序
支付宝小程序
uniapp
trao
4、桌面应用开发
electron
比如:Vscode的开发
5、后端开发
node 框架
比如:express,koa ,egg.js
四、ts会不会取代js
ts 给 js 加了类型约束,提供了类型检测,ts 是源于js ,最终归于js,是js的超级,在js的基础上做了扩展。ts本身不能被js引擎运行,最终转为js代码运行。
五、如何系统的学习js
1、官方资料:
MDN, ECMA标准:弊端:抓不住重点,
如何抓住重点,
如何进行实战练习,
更多作为查询的手册
2、看书 (红宝书:《js高级程序设计》,《你不知道的js》【三册】,《犀牛书(讲的相对浅)》)
书的质量必须很高
必须动手进行代码练习
遇到问题如何解决
3、开源项目
多去读一些优秀的开源项目
非常好的学习手段
需要具备一定的学习能力,
需要一定的基础
4、视频学习
比较适合大多数人
讲课人本身的能力
视频质量要求
听得懂,学得会