一.怎么学JavaScript?

第一个问题是,看书有啥好处?

好处应该是不言而明的,书看多了,基础会逐渐夯实起来。

看多了,自己的判断力,自然就上来了。

看别人的文章,就能很快判断出,对方每块儿讲得对不对,哪块儿又是自己不清楚的,模棱两可的。

当然也为看源码,分析源码提供了基础。

10本书读2遍的好处,应该大于一本书读20遍。

10本书的交集,那就是基础知识的核心,而并集那就是所有的知识。

好书当然要多读,反复读。但是只读一本是不行的。

因为每本书的侧重点都不一样。从不同的侧面,去理解一个知识点,是很有意义的。

所以特别佩服印度人,他跟你讲英文,你一个词语没听懂,他会蹦出n个同一意思的单词,你听懂一个,就ok了。

看书也是这样的,某一块讲得不透彻,不用担心,其他书籍可以帮助你来了解。

第二个问题是,书籍推荐。

个人觉得不错的,没事可以翻翻的。书籍如下:

《javascript面向对象编程指南》,风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式呢。

《js权威指南》、《js高级程序设计》,这两本书经典是经典,但是太厚,适合把其中任意一章都当成一本书来读。洋洋洒洒,很难一口气看完。比较适合当做参考书。

《你不知道的javascript》狙击js核心细节,闭包、原型、this讲得都还清楚。目前《中册》也出了,还在看。

《js设计模式与开发实践》js设计模式也是要学的,此书把js的设计模式讲得非常清晰,一点不晦涩,看起来没多少难度。

《正则指引》,分析源码时,如果正则表达式不懂,没法进行下去的。此书相对来说讲得比较清晰。

《基于MVC的JavaScript Web富应用开发》,看完后,基本能写出自己的mvc框架了。是本好书。

《javascript函数式编程》,js是一门函数式语言,此书是函数式编程一个入门,函数是一等公民那是非常重要的。

《js忍者秘籍》,jq作者写的,没有传说中的那么难读,话说就算你看完并理解所有知识点,也不会达到世界高手级别的。因为你还没有做到随心所欲。

《javascript框架设计》,如果初看此书,会觉得此书有罗列代码之嫌。在我看来,此书讲究的是框架的全局观。

以上书籍是我认为是成就高手之路上必须看的,也需要反复看。

css相关的书籍,说实话我看得比较少,总共有六七本吧。有两本必须推荐一下:

《css权威指南》,css基础知识点那是讲得非常清楚的。什么层叠优先级、line-height啥的。不是随便一本书都敢叫“权威指南”的。

《css揭秘》此书我也是不断的看,此书才不屑于全面讲css3各属性呢。css规范文档能讲的,它只会讲你最不在意的。此书解决的47问题,解决思路和解决方案同等重要,很有启发性。以上各书你都可以不买,至少买本此书吧。

第三个问题,怎么看。

想必很多同学,都想看书,但是很难看下去。

文字部分相对来说还能看看,一遇到代码,头皮就发麻了。

此问题一开始时我也遇到的。

说一个学习理论。

比如说学英语,有个开水理论。

词汇量必须达到6000才行,如果没达到,英文水平不会上去的,

这跟烧开水一样,没事烧烧,放着凉凉,从来没烧到100度,那么此水是永远不能喝的。

一旦煮沸过,就可以随时喝了。

20本书你看不下去,说明什么呢?

任何一本书,你都没看完过。熟悉的,永远只是前三章。别笑,我原先也是这样的。

那么现在的问题是,怎么把一本书看完呢?

很简单,敲。

《基于MVC的JavaScript Web富应用开发》这本书我看时,就是这样,终于有一天,我下定决心要把此书从头到尾敲一遍。

文字加代码都敲,然后就一章一章得看完了。代码敲一遍后,你会发现,没之前看起来的那么难。

如果你属于一看书就犯困那种同学。强烈建议你把《javascript面向对象编程指南》此书从头到尾敲一遍。

坚持看完一本书后,信心就上来了。先保证看完一本再说。看完3本后,基本应该能做到几天就能看一本了。万事开头难,加油吧。

第四个问题,看书的层次问题。

书看完后,要自己总结,要与其他书籍对比看。有同学同时对比着看《权威指南》和《高设》来的。

随便拿出个知识点,你都能闭着眼睛说得头头是道,说明水平够了。

下一块就是源码的学习了。

看框架源码之前,想说一件事情:dom的api不懂,没问题,你可以百度。但是正则一定要先研究研究。

不然大多数人去尝试分析源码时,遇到的挫折都在于此。

怎么去阅读源码呢?

敲,照着敲。

有哪些代码值得去敲呢?

优秀框架或者库的源码都值得你去敲。

但是拿jq来敲,来入门,那不行的。原因:太他么长了。八九千行呢!!

个人觉得underscore.js库是不错的第一个选择。原因都是工具方法,敲完以后自己的水平应该略有小成吧。

其实有一些api的实现,你要把它当成getElementById一样,深深的印在脑海里。比如extend方法,必须张口就来。

敲完underscore库后,可以考虑去看看《javascript函数式编程》这本书了。

jq的源码不好敲。那么zepto的源码比较少1800多行,敲一天应该敲完了。

敲几遍后,把所有不懂的地方,都百度清楚,然后就可以写自己的类jq的库了。

然后就可以作为一项技能写进自己的简历里。比如“创建过自己的jquery库”。

当然敲的过程,还能帮助自己对jq的api认识。

然后是backbone.js,因为此框架是以类jq和underscore为基础的mvc框架。代码也没多少行。敲吧。

spine.js与backbone类似。可以在敲其之前,先看看那本《基于MVC的JavaScript Web富应用开发》。

希望你的简历可以添加这么一笔,“创建过自己的mvc框架”。

其他的,我也敲过一些。包括jq.validate.js,包括一些插件。

如果你愿意的话,bootstrap你可以去敲敲啊。源码挺多的,可以按插件逐个来敲。

分析明白了,轮播、分页、下拉框等等的插件那还不是分分钟随手就写一个了。

最起码看看人家api接口是怎么设计的也是极好的。话说个人在阅读其css代码中,也学到了不少东西。

说到插件,有两个必须提提,一个是表格插件,一个是树。都敲完,简历里可以这么写上,“创建过自己的UI框架”。

当然了,你也可以敲你喜欢的框架代码,重要的是明白其实现原理,最好理解其为啥那么设计,如果对设计模式比较熟悉的话,会经常发现原来是这么回事。。。

照着敲只是分析源码的入门,用途也是为了学习,最后能用在自己的项目中,那是才是正道。

就算没啥用,也是打发时间的好方式,比看电视剧强多了。我闲着无聊时,就背着敲underscore源码。。。

最后说句,如果你简历上能如期写上那几句话后,必须是大神。加油吧。emoticon

时间: 2024-10-01 03:16:35

一.怎么学JavaScript?的相关文章

怎么学JavaScript?

作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我(老姚,下同)怎么学前端的问题.这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了. 首先说句题外话.关于有人管我叫大神的事情.个人感觉这跟你买东西时,人家管你叫帅哥一样,你答应与否都无妨. 正题开始,"前端怎么学"应该因人而异,别人的方法未必适合自己.就说说我的学习

从头开始学JavaScript (十一)——Object类型

原文:从头开始学JavaScript (十一)--Object类型 一.object类型 一个object就是一系列属性的集合,一个属性包含一个名字(属性名)和一个值(属性值). object对于在应用程序中存储和传输数据而言,是非常理想的选择 二.创建object 创建object实例有两种方法: 使用new 操作符后跟object构造函数 使用对象初始化器,也就是对象字面量表示法 2.1使用new 操作符后跟object构造函数创建object实例: 1 var person = new O

从头开始学JavaScript (二)——变量及其作用域

原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义:var firstDemo; 二.变量的作用域 2.1基本概念 使用var 定义变量:定义该变量的作用域的局部变量,这种定义变量的方法也被成为显式声明. 这么说不理解的话可以看看下面这个简单粗暴的例子: test();function test(){var firstDemo="hello

开始学javascript基础

JavaScript非常值得我们学习. 1)所有主浏览器都支持JavaScript. 2) 目前,全世界大部分网页都使用JavaScript. 3) 它可以使网页呈现各种动态效果. 4)作为一个Web开发师,如果你想提供漂亮的网页.令用户满意的上网体验 ,JavaScript是必不可少的工具. 基础布局 JavaScript的布局必须放在<html>与</html>的之中可以放头部内容都可以. 属性必须写在<script>与</script>之间,可以提示大

从头开始学JavaScript (十)——垃圾收集

原文:从头开始学JavaScript (十)--垃圾收集 一.垃圾收集 1.1javascript垃圾收集机制: 自动垃圾收集,执行环境会负责管理代码执行过程中的使用的内存.而在C和C++之类的语言中,开发人员的一项基本任务就是手动跟踪内存的使用情况,这是造成许多问题的一个根源.在编写javascript程序时候,开发人员不用再关心内存使用的问题,所需内存的分配 以及无用的回收完全实现了自动管理. 1.2垃圾收集原理: 找出那些不再继续使用的变量,然后释放其中占用的内存. 垃圾收集器会按照固定的

从头开始学JavaScript (七)——函数

原文:从头开始学JavaScript (七)--函数 一.return 函数在执行完return之后停止并立即退出. return返回值:与return: 如下两个例子: 1 function sum(num1, num2) { 2 num1= num1 + num2; 3 return num1; 4 } 5 6 var result = sum(5, 10); 7 alert(result);//15 function sum(num1, num2) { num1= num1 + num2;

从头开始学JavaScript (六)——语句

原文:从头开始学JavaScript (六)--语句 一.条件分支语句:if 基本格式: if (<表达式1>){    <语句组1>}else if (<表达式2>){    <语句组2>}else{    <语句组3>} 执行流程: 二.循环语句 2.1前测试循环语句:在循环体内的代码被执行之前就对出口条件求值. 2.1.1while语句 基本格式: do {    <语句组>} while (<表达式>)  执行流程

从头开始学JavaScript (四)——操作符

原文:从头开始学JavaScript (四)--操作符 一.一元操作符 1.自增自减操作符:分为前置型和后置型: 前置型:++a;--a; 后置型:a++;a--; 例: 1 <script type="text/javascript"> 2 var a, b,i= 1,j=1; 3 a=i++; 4 b=++j; 5 alert("a="+a+",i="+i+",b="+b+",j="+j);

从头开始学JavaScript (九)——执行环境和作用域

原文:从头开始学JavaScript (九)--执行环境和作用域 一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中定义的变量和函数. 作用域链:保证对执行环境有权访问的所有变量和函数的有序访问. 标识符解析:沿着作用域链一级一级地搜索标识符的过程. 通过例子来说明执行环境.变量对象以及作用域链: 1 <script type="text/javascript"> 2 var color =

从零开始学JavaScript(一)- 理解函数

楔子 老姚写这篇笔记开头就说:学JS,不懂事件机制,基本可以说学了JS,就是白学. 看到这句话时的我十分汗颜,如果说,我了解事件机制的话,我也许就不会点开这篇笔记,而现在的我就是那个白学了的. 重新开始审视自己,从事WEB前端开发这份工作已经半年有余,从来没有认认真真的写过一篇技术性的笔记.或许我还不是一个合格前端开发工程师,空有一腔热情却难以施展.以此作为第一篇笔记,勉励自己. 关于这篇笔记并不打算写对于事件机制的理解,毕竟我还是个白学了JS的人,班门弄斧简直是跳梁小丑.那就从最基础的开始写起