如何有效地提升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
随机推荐
- Spring与Quartz的整合
Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触发器的多 ...
- jersey rest webservice
参考官网:https://jersey.github.io/documentation/latest/getting-started.html#new-webapp 创建一个 JavaEE Web A ...
- Spring结合AspectJ的研究
本文阐述以下内容:1.AspectJ是什么及使用方式2.Spring AOP和AspectJ的区别3.Spring结合AspectJ的使用方法和原理4.Spring注解方式使用AspectJ遇到的问题 ...
- transport.js报hasOwnProperty对象不支持此属性
ECShop transport.js错误 这次出现的问题是transport.js在IE下提示对象不支持该用法.出现错误位置为608行的下面的代码: if(this.hasOwnProperty(k ...
- Android File类 根据官方文档理解
File有四个构造函数 public File(File dir,String name) 参数为File和String,File制定构造的新的File对象的路径 ...
- LoadRunner测试ajaxweb程序攻略
用loadrunner测试WEB程序的时候总是会碰到AJAX或者ActiveX实现的功能,而通常这些功能会包含很多客户端函数(一般为JavaScript).我们该如何处理?如果从功能实现的角度去考虑这 ...
- javascript 自定义Map
迁移时间:2017年5月25日08:24:19 Author:Marydon 三.自定义Map数据格式 需特别注意的是: js中没有像java中的Map数据格式,js自带的map()方法用于:返回 ...
- 05-hibernate注解-多对一单向外键关联
多对一单向外键 1,多方持有一方的引用,比如:多个学生对应一个班级(多对一) 2,@ManyToOne(cascade={CascadeType.ALL}, fetch=FetchType.EAGE ...
- 基于Python-Flask实现的网站例子
概述 使用Flask写的体育网站 包括(注册 论坛 文章评论 组建战队 后台管理)等功能 示例地址文中有写 萌新 请多指教 详细 代码下载:http://www.demodashi.com/demo/ ...
- 在 Flash ActionScript 2.0 中调用 Javascript 方法
本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript ...