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

学习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, jsonp

算法 设计模式 和架构
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语言规范

如何有效地提升JavaScript 水平?的更多相关文章

  1. 提升JavaScript递归效率:Memoization技术详解[转载]

    递归是拖慢脚本运行速度的大敌之一,太多的递归会让浏览器变得越来越慢直到死掉或者莫名其妙的突然自动退出.这里我们可以通过memoization技术来替代函数中太多的递归调用,提升JavaScript效率 ...

  2. Javascript水平提升

    1,学习js分几个阶段,没入门,入门初学者,中级水平,高级水平,ppt水平. 2,没入门的如何学习? 我当初是先学jquery,有css和html基础,有css基础看jq的语法很简单,就是选择符,jq ...

  3. 使用TypeScript如何提升JavaScript编程效果?

    TypeScript是个什么鬼?和JavaScript有什么关系? TypeScript是由微软开发的一种可快速入门的开源的编程语言,是JavaScript的一个超集,且向这个语言添加了可选的静态类型 ...

  4. 什么是 js 变量提升 (Javascript Hoisting)

    Javascript是一门容易遭人误解的语言,但是它的强大毋庸置疑.个人觉得,要想深入理解Javascript语言,首先必须对其基本的概念(例如:Scope,Closure,Hoisting等)要真正 ...

  5. MES助力日立电梯提升精细化管理水平

    项目背景介绍 日立电梯在2008年到2012年期间分别在五地工厂(上海.广州.天津.成都.扶梯)上线了ERP系统,在后续的使用时间里,逐渐发现现有ERP系统对于生产现场管理,产品质量追溯,产能控制等方 ...

  6. 如何提升JavaScript的任务效率?学会后教给你同事

    本文由云+社区发表 一.概述 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事.前面的任务没做完,后面的任务只能等着.随着电脑计算能力的增强,尤其 ...

  7. 【转】巧用局部变量提升javascript性能

    转自:http://www.jb51.net/article/47219.htm 巧用局部变量可以有效提升javascript性能,下面有个不错的示例,大家可以参考下     javascript中一 ...

  8. JavaScript prototype.js提升JavaScript开发效率

    参考链接:http://www.yiibai.com/prototype/ Prototype提供主要方法类别: Prototype概述 Prototype实用功能 Prototype实用方法 Pro ...

  9. 如何衡量一个人的 JavaScript 水平?

    参考链接:https://blog.csdn.net/weixin_37615279/article/details/103658866

随机推荐

  1. 流畅的python第十五章上下文管理器和else块学习记录

    with 语句和上下文管理器for.while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文.这么做能避免错误并减少样板代码, ...

  2. JAVA逐行读取TXT文件

    package help; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; imp ...

  3. (转)Scala中协变(+)、逆变(-)、上界(<:)、下界(>:)简单介绍

    看源码的时候看到: trait ExtensionId[T <: Extension] { 没见过这个符号啊<: Scala上界(<:)和下界(>:) 1) U >: T ...

  4. 转:mac 设置root 密码

    终端中输:sudo passwd rootpasswd root是修改root的命令,unix下sudo是以当前用户的身份执行root的命令,以避免输入root的密码但是sudo依赖于配置文件/etc ...

  5. sublime text 2中“ctrl + `”快捷键无效

    之前sublime 使用正常,这次在装插件的时候,发现ctrl + `快捷键失效了,无法调出控制台. 然后就一直按这两个键,肯定是被别的占用了,所以就像看看有啥反应,看了半天都没有见到什么神奇的窗口跳 ...

  6. C#中使用正则

      using System.Text.RegularExpressions;           private void button1_Click(object sender, EventArg ...

  7. list/tuple/dict/set

    一.list(列表) 内置类型,长度可变的有序集合,索引从0开始,索引为负数是标识从右开始取,最右边第一个是-1,以此类推.里面的元素可以是不同类型的. 1.定义:a = [] #空列表 2.获取长度 ...

  8. Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系

    原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...

  9. SpringBoot环境属性占位符解析和类型转换

    前提 前面写过一篇关于Environment属性加载的源码分析和扩展,里面提到属性的占位符解析和类型转换是相对复杂的,这篇文章就是要分析和解读这两个复杂的问题.关于这两个问题,选用一个比较复杂的参数处 ...

  10. PHP投票实现24小时间隔投票

    l  设置cookie,浏览器都有禁用或者清除cookie的功能 l  设置session,关闭浏览器就没了 所以,我们只能尽量防止重复投票现象 session_start(); //获取ip地址 i ...