如何有效地提升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, 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 水平?的更多相关文章
- 提升JavaScript递归效率:Memoization技术详解[转载]
递归是拖慢脚本运行速度的大敌之一,太多的递归会让浏览器变得越来越慢直到死掉或者莫名其妙的突然自动退出.这里我们可以通过memoization技术来替代函数中太多的递归调用,提升JavaScript效率 ...
- Javascript水平提升
1,学习js分几个阶段,没入门,入门初学者,中级水平,高级水平,ppt水平. 2,没入门的如何学习? 我当初是先学jquery,有css和html基础,有css基础看jq的语法很简单,就是选择符,jq ...
- 使用TypeScript如何提升JavaScript编程效果?
TypeScript是个什么鬼?和JavaScript有什么关系? TypeScript是由微软开发的一种可快速入门的开源的编程语言,是JavaScript的一个超集,且向这个语言添加了可选的静态类型 ...
- 什么是 js 变量提升 (Javascript Hoisting)
Javascript是一门容易遭人误解的语言,但是它的强大毋庸置疑.个人觉得,要想深入理解Javascript语言,首先必须对其基本的概念(例如:Scope,Closure,Hoisting等)要真正 ...
- MES助力日立电梯提升精细化管理水平
项目背景介绍 日立电梯在2008年到2012年期间分别在五地工厂(上海.广州.天津.成都.扶梯)上线了ERP系统,在后续的使用时间里,逐渐发现现有ERP系统对于生产现场管理,产品质量追溯,产能控制等方 ...
- 如何提升JavaScript的任务效率?学会后教给你同事
本文由云+社区发表 一.概述 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事.前面的任务没做完,后面的任务只能等着.随着电脑计算能力的增强,尤其 ...
- 【转】巧用局部变量提升javascript性能
转自:http://www.jb51.net/article/47219.htm 巧用局部变量可以有效提升javascript性能,下面有个不错的示例,大家可以参考下 javascript中一 ...
- JavaScript prototype.js提升JavaScript开发效率
参考链接:http://www.yiibai.com/prototype/ Prototype提供主要方法类别: Prototype概述 Prototype实用功能 Prototype实用方法 Pro ...
- 如何衡量一个人的 JavaScript 水平?
参考链接:https://blog.csdn.net/weixin_37615279/article/details/103658866
随机推荐
- leetCode(45):Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
- [转]SSIS高级转换任务—行计数
本文转自:http://www.cnblogs.com/tylerdonet/archive/2011/06/19/2084780.html 在SSIS中的Row Count转换可以在数据流中计算数据 ...
- iOS:基于Socket的第三方框架CocoaAsyncSocket的使用
CocoaAsyncSocket无疑是目前封装得最完善的Socket库了:支持异步TCP/UDP,支持GCD,Objective-C接口封装,同时还有日志跟踪功能,使用此日志跟踪,程序员可以很方便的进 ...
- nginx搭建前端项目web服务器以及利用反向代理调试远程后台接口
前端同学用nginx搭建自己的web服务器,后台程序专门部署在一台服务器上(我们之前公司就有三套环境,开发/测试/生产),这样做的好处是 1.前端代码基本都是静态文件,重启一次很快,也就几秒钟时间. ...
- Spring框架学习(8)spring mvc上传下载
内容源自:spring mvc上传下载 如下示例: 页面: web.xml: <?xml version="1.0" encoding="UTF-8"?& ...
- 【转】C语言中结构体的位域(bit-fields)
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构 ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-为什么无法打开官方范例的项目,打开tszip文件时提示尝试越过结尾怎么办
打开新的解决方案,找到tszip文件 提示错误Advanced Setting时越过结尾 到这里一般VS会卡死 但是我们已经可以得到解压出来的文件夹,其中包含PLC的完整项目文件夹,可以新 ...
- 算法笔记_089:蓝桥杯练习 7-2求arccos值(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 利用标准库中的cos(x)和fabs(x)函数实现arccos(x)函数,x取值范围是[-1, 1],返回值为[0, PI].要求结果准确 ...
- 【Python 数据分析】pandas数据导入
导入CSV文件数据 环境 C:\Users\Thinkpad\Desktop\Data\信息表.csv 语法 pd.read_csv(filename):从CSV文件导入数据 实现代码 import ...
- C#实现播放声音的方法
文章来自学IT网:http://www.xueit.com/html/2009-09/21_4598_00.html 在这里介绍使用C#实现播放声音的几种方法,都是利用组件等方法来实现的,有兴趣的话可 ...