javaScript的特点
- 动态 + 弱类型
- 解释性或实时编译(JIT)类型语言
- 面向对象
- 函数是特征
- 灵活和可扩展
- 反射与元编程
- 高性能
- 单线程异步非阻塞
javaScript主要能做什么
- (通过DOM)改变网页文档元素和属性
- (通过BOM)操作浏览器API
- (事件机制)响应客户行为
- (XHR Fetch WS) 发送和接受数据
- (Storage)保存数据和状态
- (TImer, Pro’mise) 执行异步任务
- (ArrayBuffer TypedArray) 处理数据
- (File API) 操作文件
本课程主要讲什么
- 符合ECMA-262 最新规范的javaScript,不回避新特性
- 基本类型,原生类型,浏览器API, Node API
- 大部分语言特性(特别是ES5及之前版本在chrome40以上已完全支持)
- 重点讲javaScript 的独有特性及其应用场景,以实际工作常见和常用为主
- 重点讲函数,面向对象,过程抽象和函数式,总之能发挥js动态性的常见模式
- 会设计到语言基础 ,运行环境(比如浏览器环境 Node)
- 会涉及到部分后端 HTTP请求相关内容,这些内容对前端工程师高质量完成工作也很有必要
本节课不讲的内容
- 过时的不符合规范的特性,比如ES3和之前版本里被废弃和修改的部分
- 基础通用的编程语言特性,比如常见的基本if,for,while,switch语句
- 一些稍微不那么复杂,可以自学,工作中也会用到的内置对象,比如Date
- 具体框架的使用,课程中例子可能会用到,但不会系统讲,因为部分内容可以看请文档
其它一些因为事件限制不能面面俱到的细节,建议阅读MDN文档或者相关教程
兼容性怎么办?
速查;http://kangax.github.io/compat-table/es5/
方案1:shim & polyfill
https://github.com/es-shims/es5-shim
https://github.com/es-shims/es6-shim
https://polyfill.io/v2/docs/
方案3: Babel /JSX /TypeScript …
总结
javaScript你值得拥有
也许每一个程序员都有一颗逗比潜质的心