JavaScript技术可以分三类 — 学习JS必须了解的精髓

JavaScript的基本组成

学习JavaScript的第一步,在于了解JavaScript的基本组成,了解JavaScript技术当中有哪些类型的知识。

JavaScript = ECMAScript + DOM + BOM

其中ECMAScript表示的是基本语法,包括我们实现JS的基本语法,如变量的声明、基本的语句(if、for、switch等)、函数、参数、作用域、this、原型继承、数组字符串正则等各类方法等。

DOM,表示文档对象模型,其实就是JavaScript语言中,能够操作标签以及标签属性/样式的方法。

BOM,表示浏览器对象模型,比如页面跳转、刷新,返回上一个浏览记录等。

学习JavaScript时的三部分

基于上面JavaScript的基本组成,我们能够将JavaScript中的技术分为两大类。除此之外,当JavaScript与工作挂钩时,又会衍生出我们需要掌握的第三大类 —— 快速开发。三大类知识以及学习目的简要概括如下:

1 基本DOM与BOM操作 - 目的:实现页面的变化

2 底层知识 - 目的:优化代码性能

3 各类框架 - 目的:提升开发效率

如何学好JavaScript

接下来利利就带大家站在基于JavaScript的三类技术,看看如何才能把JavaScript学好。

基本DOM与BOM操作

难度系数:最低

知识类型:记忆型知识

技术举例:获取标签、为标签绑定事件,获取或修改元素的样式,获取或修改元素的内容等。

具体描述:我们可以将每个元素或标签看做一个对象,CSS其实就是在为这些对象增加样式,而JS就是在操作对象的样式或者属性,通过让对象的样式或属性发生变化,而实现我们视觉上的各类动态效果。

在书写一些效果时,这部分知识在其中充当的是功能的核心代码,但是如果仅仅依靠此类知识,代码书写出来的冗余度会很高,扩展性也很差。

优化代码性能用的底层知识

难度系数:基础语法难度较低,优化代码难度较高

知识类型:应用型知识

技术举例:函数封装、参数、递归调用、面向对象、设计模式、原型、继承(PS:在此,我们将“基础语法”放置于这一类当中)

具体描述:如果说实现一个功能很简单的话,那么想把一个功能的质量提升上来,就没有那么容易了。我们可以将这部分技术简要概括为:“让我们的代码变得更简单,复用性更强。但不涉及任何元素的操作。”

提升开发效率用的各类工具框架

难度系数:中等

知识类型:实战型知识

技术举例:jQuery zepto bootstrap Grunt Angular等各类框架

具体描述:学习此类知识之后,主要是为了让我们的开发速度更快,提升工作效率,此类知识与前端开发工程师的工作性质相关。需要额外注意的一点是,如果完全没有基础去学习此类知识,难度系数比较大,如果对于前两类知识有比较深入的理解,此种知识在学习时的难度系数就要降低很多~(这也是开发工作当中几乎不会遇到原生JS,但是依然要将其学好的原因。学好了原生的JS,对于框架类的知识的掌握速度会有质的提升)

简要概括:

JS实现功能很简单,但是想做好很难,而“做好”是JS的精髓。掌握了基本的DOM操作之后,就需要不断考虑代码优化。又由于前端开发工作性质的需要,要求能够快速开发,就需要学习一些相关框架。利利在此推荐的学习顺序是:

——> 基础语法

——> DOM操作

——> 优化代码

——> 开发效率

不知道经过这一番解释,你是否对JS所包含的技术有了一定的了解了呢?

学习顺序的重要性

最后,说说学习顺序的重要性吧,HTML5学堂的成员们一致认为这个学习顺序至关重要。利利表示:自己大概是在2009年开始学习JS,当时用的是一本叫做《JavaScript征途》的书籍,自学了1年的时间之后,虽然对各类方法有一定的了解,但是在一些效果实现上实在是很没思路,并不知道从何下手。甚至~~~自学一年之后,自己都不知道JS文件如何引入到HTML文件当中,只是在html文件当中书写JS代码,唉,郁闷的也是不要不要的~(有点儿感觉像是在吐槽当前书籍像字典的感觉啊~~~)学习顺序和方法能够让我们事半功倍,所以,今天分享的内容,虽然不是技术,但是还是至关重要的!

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-04-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【答疑解惑第三十八讲】初学者做项目需要掌握哪些东西?

疑惑一 【答疑解惑】初学必须掌握的数据结构有哪些? 数据结构有很多,难以程度也不相同,初学者应该掌握哪些基本的数据结构呢?作为一个过来人,我觉得作为一个初学者应...

3408
来自专栏IT派

那些神奇的一行 Python 代码

Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Pyt...

1084
来自专栏HT

基于HTML5实现3D监控应用流动效果

http://www.hightopo.com/guide/guide/core/lighting/examples/example_flowing.html ...

1899
来自专栏hightopo

原 HT for Web中3D流动效果的实

1513
来自专栏专注数据中心高性能网络技术研发

多线程下的并发理解

写多了多线程程序,对程序的串行与并行和操作系统的并发概念会有点混乱,现在整理一下概念。 并发:   并发原本是处在操作系统层次上,讲的是处理器的逻辑核可以在同一...

35413
来自专栏CDA数据分析师

一文总结学习 Python 的 14 张思维导图 | 高清图 + 下载

? 原文链接:https://woaielf.github.io/2017/06/13/python3-all/ 本文主要涵盖了 Python 编程的核心知识...

2737
来自专栏架构师之路

深入浅出搜索架构引擎、方案与细节(上)

一、缘起 《100亿数据1万属性数据架构设计》文章发布后,不少朋友对58同城自研搜索引擎E-search比较感兴趣,故专门撰文体系化的聊聊搜索引擎,从宏观到细节...

4595
来自专栏程序员维他命

如何提高代码的可读性? - 读《编写可读代码的艺术》

很多同行在编写代码的时候往往只关注一些宏观上的主题:架构,设计模式,数据结构等等,却忽视了一些更细节上的点:比如变量如何命名与使用,控制流的设计,以及注释的写法...

871
来自专栏BestSDK

表格设计的六种打开方式,正确提升表格的阅读效率

在设计数据类产品、后台配置产品时,PD 常常会指着一块地方说「这儿放个表格,需要有balabala…」,而表格的结构不外乎这几种类型: 垂直布局 水平布局 矩阵...

2675
来自专栏杨建荣的学习笔记

重温二分查找算法(r4笔记第66天)

二分查找在学习算法的时候会涉及到,算是一个基本的分治思想,对于算法的实现大家也都是很熟悉的,但是这个时候真会犯眼高手低的毛病。不信你自己试试,看你能够在段时间内...

3935

扫码关注云+社区