如何有效地提升 JavaScript 水平?

简单的介绍一下, 不一定准确, 大家一起进步... (单词大小写什么的别计较....)

学习js主要是一下几个方面, js语言本身的知识, 和浏览器相关的知识, 算法和设计模式还有架构等, js相关的类库, html5和css3还有es5相关的知识. 

js语言本身:
1. 首先要了解相关的基础知识, 比如什么是浏览器, 什么是html, 什么是css, js语言的历史, 什么是动态网页(有个动态gif图片那可不是动态网页...)
2. 然后要学习js基础, 比如语法, 关键字, 数据类型, 函数, 作用域, 正则表达式等
3. 然后就是高级一点的知识, 比如原型, 闭包, 面向对象编程, 定时器, 异步编程等

和浏览器相关:
1. DOM操作(添加 删除 操作节点, 遍历节点等) 
2. BOM相关(window对象, location对象, navigator对象)
3. 事件模型, 表单操作, jSON, 浏览器兼容性等
4. ajax, json

算法 设计模式 和架构
1. 基本的算法知识, 排序啊优化啊什么的
2. 设计模式, js有时候还是能用到的
3. 架构, 文件组织, AMD, CMD什么的

html5, CSS3, ES5等
1. 新api, 拖拽, Canvas, File API, Web Worker ,Web Socket 什么的
2. ES5, strict模式, 新增API(Object.create等)
3. 甚至还有ES6的Map, WeakMap什么的等

js相关的类库
1. jQuery等类库的使用
2. 文件加载requireJS, seajs等
3. mvc框架, Backbone, AngularJS等
4. 工具库, underscore等

其他和项目相关的
1. 开发流程, 代码规范
2. 文件组织, 依赖管理, 打包部署流程等
3. cdn, 缓存, 测试, 自动化测试 

推荐几本书:
javascript语言精粹 基础学习
jquery权威指南第6版 工具书,资料查找
javascript web appications 前端mvc开发
ecma-262.pdf js语言规范
 
多上github clone别人的代码来看
原文地址:https://www.cnblogs.com/qianjilou/p/6722598.html