开始学习Head First 系列的JavaScript教材,争取每天一章,下载了英文版的PDF电子版,睡前打印好第二天要看的那一章,争取尽快学完,对js有一个大致的印象。
更新记录:
- 2015年4月21日
看了第三章
- 2015年4月22日
chapter 4 完成!保持一天一章的进度,再过9天就可以看完这本书咯~~~
- 2015年4月23日
第五章 over!这章讲了JS里的object,还有它里面的property和method,没想到console竟然也是一个object,而console.log();就是在调用console下面的一个叫log的method,好神奇!
- 2015年4月24日
第六章完工!那么这一整本书就还剩下一半了,`(*∩_∩*)′
- 2015年4月27日
第七章结束,讲的是一些代码规范,有些无聊不过学学还是有用的。嘻嘻,起码知道==和===还有!=和!==的区别了,加油!
- 2015年4月28日
第八章看完了,动手做了一个小“游戏”,发现bug请不要喷我 #-_-
- 2015年4月29日
第九章over,学了handling events,其实应该是和第六章讲dom连着的,就是接受浏览器传来的从用户那里收集到的信息,比如用户点击某处后,触发一段你事先写好的程序之类的,跟着书上也做了个小damo,稍微改了改 -> http://t.cn/RAnZNEs
- 2015年5月2日
chapter 11 完成!这章主要讲了anonymous function和closure,发现越往后看越难哎,不过还好只剩下两章了 :p 加油!
- 2015年5月3日
学了chapter12,是和第五章讲object有联系的,讲了创建object的两种方法:object literal和object constructors,主要讲了后者,用它可以批量创建相似的object,很方便的!
- 2015年5月4日
13章over,这是这本书的最后一章了,这么厚一本书学完一共用了12天,看来程序猿大师计划还是可行的,接下来开始看imooc上的三个js教程,加油!
【阶段性总结】总结(2015.5.5)
昨天终于看完了这本书,来写个小总结。
这个系列的书很棒,通过做一些很有趣比喻来阐述道理,然后通过让你动手做一些有趣的例子来掌握知识。一章一章的看下去就像是在打游戏,能明显感觉到自己的经验值在一点一点的提高。
Chapter1: Getting your feet wet
- js的发展历史
- 变量
- while循环
- if语句
- console.log
Chapter2: Going further
- 了解了js的开发逻辑
- 做了第八章的battleship游戏的一个简化版
Chapter3: Getting functional
- function的创建方法
- 调用function的方法
- argument和parameter的区别
- global var和local var
Chapter4: Arrays
- 创建、使用和更新array的方法
- 做了一个Bubbles-R-Us的案例(计算一组数中最大的是多少,以及是第几个)
Chapter5: A trip to Objectiville
- 介绍了object-oriented(第一次接触这个概念,感觉很神奇也很有用)
- 创建object的方法
- 把object和function结合起来使用
- object的propertie的添加,删除,获取,修改和计算
- object的method的添加,调用方法
- propertie和method可以互相影响(汽车的油量(propertie)可以决定该车是否可以启动(method),而汽车启动后(method),又可以减少该车的油量(propertie))
- this.的工作原理
Chapter6: Getting to know the DOM
- 讲了js如何和html页面互动
- 每个页面的dom结构
- getElementById()
- innerHTML
- setAttribute
- 最后说了下event handler
Chapter7: Serious types
- undefined
- null
- NaN
- = / == / === 区别
- 两个boolean值:truth和false,以及类似的truthy和falsey
- string的一些properties和methods(.length/.charAt()/.indexOf()/.substring()/.split())
Chapter8: Building an app
- 用之前学过的所有知识,做一个第二章battleship的完整版web游戏
- 这应该是我用js做的第一个web应用,学到了好多:http://happyhome.me/temp/battleship_game.html
Chapter9: Handing events
- 提到了浏览器的很多event(load/click/resize/mousemove/mouseover/mouseout/keypress)
- 根据这些event来触发不同的function
- 做了第二个“游戏”#-_- http://happyhome.me/temp/chapter9/blur.html
Chapter10: Liberated functions
- function declaration
- function expression
- 如何把一个function赋值给另一个function
Chapter11: Serious functions
- 讲了下nest function(方程里面的方程)
- nest function的global scope和local scope
- referencing environment
- closure的三种创建方法(1.returning a function from a function/ 2.passing a function expression as an argument/ 3.with an event handler)
Chapter12: Creating objects
- 结合第五章,讲了object的第二种创建方法:constructor(批量创建)
- 创建和使用constructor的方法
- 解释了每一个用constructor创建的object都是他的一个object instances(很有趣的概念)
Chapter13: Extra strength objects
- 讲了object的prototype和它的原理(更加神奇的一个东西)
- 如何创建一个prototype
- 关于prototype的一个很重要的概念: inherit(每一个constructor创建出的instances可以有不止一个的prototype)