前言

前言

让大脑重视JavaScript。现在你正试着学习某些东西,为了不让学习卡壳,你的大脑也在帮忙,大脑在想:“最好把空间留给重要的事,比如什么动物是危险的?裸体滑雪是不是一个坏主意?”那么怎么才能欺骗你的大脑,让它认为学好JavaScript关系到你下半生的幸福呢?

本书适合你阅读吗

我们知道你是怎么想的

我们视读者为学习者

元认知:对思维方式的思考

我们是如何做的

如何让大脑听话

导读

技术审校

致谢

如何使用本书 前言

本书适合你阅读吗

如果对于下面的每个问题,你的回答都是肯定的,那么本书就是为你而写的。

{%}

你该对本书退避三舍吗

只要对下面的任何一个问题的回答是肯定的,你就应对本书退避三舍。

❶ 你对Web开发一无所知吗?

  对你来说,HTML和CSS犹如天书吗?倘若如此,你也许应该先阅读《Head First HTML与CSS》,搞清楚如何编写网页,再考虑学习JavaScript。

❷ 你是Web开发高手,想要的是一本参考手册吗?

❸ 你害怕尝试不同的东西吗?你宁愿穿普通的衣服,也不穿格子配条纹的衣服吗?你认为既然JavaScript对象被赋予人性,那么技术书籍就应该一本正经吗?

我们知道你是怎么想的

“这书一点都不严肃。”

“那些图片都是干什么用的?”

“这样也能学会JavaScript吗?”

我们还知道大脑是怎么想的

大脑渴望新奇,它不断地寻找、扫描和等待不同寻常的东西。它天生如此,助你永葆活力。

这年头,你不太可能成为老虎的盘中餐,但你的大脑依然保持警惕,只是你从来没有意识到而已。

当你遇到寻常而普通的东西时,大脑是如何应对的呢?它竭尽所能,避免这些东西干扰它做重要的工作——记住重要的东西。它不会劳神去记住无聊的东西,因为这些东西显然是不重要的。

大脑怎么知道哪些东西重要呢?假设有一天你去徒步旅行,面前突然出现了一只老虎,你的大脑和身体会有何反应呢?

神经元受到刺激,情绪激动,肾上腺素激增。

大脑于是明白:

这一定很重要!可别忘了!

但假设在家里或图书馆学习、备考或学习老板认为需要一周甚至十天才能掌握的高深技术,此时你所处的环境很安全,根本不会有老虎。

大脑竭尽所能地帮助你,确保稀缺资源不会被显然不重要的内容占用,而将它们留给真正重要的东西,如老虎、火灾、不要穿着短袖短裤去滑雪等。

可是,你没法直截了当地向大脑发号施令:不管这本书有多乏味,也不管我当前对里氏震级有多不感兴趣,拜托你把这些内容记下来吧。

我们视读者为学习者

怎样才能学会东西呢?首先你得明白,其次你得牢记,但这并不意味着死记硬背。认知科学、神经生物学和教育心理学的最新研究表明,学习过程远比阅读文字要丰富得多。我们知道如何激活大脑。

本书遵循的一些学习原则

使用视觉化元素。图片比文字更容易记忆,并可极大地提高学习效率(可将记忆和理解程度提高89%)。图片还让知识理解起来更容易。通过将文字放在相关图片的内部或附近,而不是放在图片的下面或另一页,可将学习者解决相关问题的能力提高两倍。

使用个性化的对话。最新的研究表明,相比于一本正经的语气,教师采用第一人称以对话的方式讲解时,学生的考试成绩可提高40%。我们使用口语化的语言讲故事,而不是一本正经地说教。激动人心的晚宴对话和枯燥讲座,哪个更能激发你的兴趣呢?

激发学习者更深入地思考。换而言之,如果你不去积极地刺激神经元,大脑就不会有太大的反应。要让学习者能够解决问题、得出结论、举一反三,就必须让他心生好奇、对学习有积极性并沉醉其中。为此,需要让学习者应对挑战、做练习、回答引人深思的问题,并完成一些需要左右脑和多个感官参与的活动。

引起并保持读者的兴趣。大家都有这样的经验:心里想学,可一页还没看完就瞌睡连连。大脑只会对不同寻常、有趣、怪异、抓人眼球、出乎意料的东西感兴趣。面对新的高深技术,如果学习过程不再枯燥乏味,就会事半功倍。

触动心弦。你知道,能不能记住一样东西,在很大程度上取决于它对你情绪的影响。你会记住自己关心的东西,也会记住触动你心弦的东西。这里说的可不是小男孩和小狗之间虐心的故事,而是在玩填字游戏、学习人人都认为很难的东西或意识到自己很厉害时油然而生的惊讶、好奇、开心、疑惑和傲视天下等情绪。

元认知:对思维方式的思考

如果你有心学习,还想学得更快、更深,就应专注于你如何才能做到专注,思考你的思维方式,了解你的学习方法。

大多数人在成长过程中都没有接触过元认知和学习理论。每个人都被要求学习,可知道如何学习的人少之又少。

我们认为,既然你手捧本书,肯定很想学习如何编写JavaScript程序。你可能不想花太多时间,而只想记住阅读的内容,并能够付诸应用。为此,你必须理解这些内容。为从本书(或任何图书或学习过程)获得最大的收获,就要对大脑负责,因为它将决定学习效果。

秘诀在于让大脑认为你学习的新内容非常重要,就像老虎一样生死攸关。不然,你的大脑将不断与你唱反调,不惜一切手段地排斥这些新内容。

如何让大脑认为JavaScript与老虎一样重要?

有缓慢乏味的方式,也有快速高效的方式。缓慢的方式就是没完没了地重复。你知道,即便是最无趣的主题,只要不断重复,就能让人学会并牢记在心。重复多了,你的大脑就会说:这个好像对他来说并不重要,可他看了又看,我只能认为这个肯定很重要了。

快速的方式是竭尽所能地刺激大脑活动,尤其是不同类型的大脑活动。“我们视读者为学习者”中提到的做法是刺激大脑活动的重要组成部分,实践表明,它们都有助于让大脑听话。例如,研究表明,通过将描述文字放在图片中,而不是图片说明或正文等其他地方,可让大脑明白文字和图片的关系。这将加大对神经元的刺激,而对神经元的刺激越大,就意味着大脑认为相关的内容值得关注,将其记住的可能性也就越大。

对话式风格可提高学习效率,因为人们意识到自己在参与对话时,就知道为避免对话中断,必须更加集中注意力。神奇的是,大脑并不介意你是在与图书对话。另一方面,如果写作风格一本正经而且乏味,大脑将以为你是坐在教室里听讲座,听众都抱着消极的态度,昏昏欲睡也没有关系。

然而,图片和对话风格只是冰山一角。

我们是如何做的

我们使用图片,因为大脑对视觉元素感兴趣,而对文字不感兴趣。在大脑看来,千言万语也抵不过一张图片。结合使用图片和文字时,我们将文字嵌在图片中,因为相比于出现在图片说明或正文中,描述文字出现在图片中可提高大脑的工作效率。

我们采用不同的方式重复同样的东西,通过不同的媒介刺激不同的感官,让这些内容留存在大脑的不同区域。

我们以你意想不到的方式使用概念和图片,因为大脑喜欢新奇。同时,使用图片和概念时,我们添加一些带有感情色彩的东西,因为大脑易受感情的支配。你更容易记住触动感情的东西,即便这种感情只是小小的幽默惊奇趣味

我们采用个性化的对话风格,因为相比于被动地倾听,当大脑认为你正在对话时,就会更加集中注意力,即便这种对话是在你和图书之间进行时亦是如此。

书中包含100多个活动,因为相比于纸上谈兵,当你真刀真枪地做事时,大脑更容易学会并记住知识。书中的练习既有挑战性,又在读者的能力范围内,因为这种练习是大多数人的最爱。

我们采用了多种学习风格,因为有人喜欢循序渐进,有人喜欢先了解总体情况,还有人只想看代码示例。无论你是什么样的学习风格,都将受益于以多种不同方式展现的相同内容。

我们兼顾左脑和右脑,因为大脑越是沉醉其中,你学会并记住的可能性越大,同时能够集中注意力的时间越长。通过让左脑和右脑轮流工作和休息,可提高学习效率,延长学习时间。

我们从不同的角度展现故事和练习,因为在必须做出评估和判断时,大脑对知识的理解通常会更深。

书中包含一些比较有挑战性的练习和没有简单答案的问题,因为大脑活跃起来时,通常更容易学会并记住知识。这就像仅仅在健身房看人锻炼并不能塑身一样。我们竭尽所能,确保让你苦思冥想时,想的都是重要的问题,而不在难以理解的示例、充斥术语的难解文本上浪费脑力。

我们在故事、示例和图片等中使用人物,因为你也是人,你的大脑会更专注于人而不是物。

我们遵循80/20规则。我们假设你的目标是成为JavaScript开发高手,不会只读这一本书。有鉴于此,本书并非无所不包,只介绍了你真正需要的内容。

{%}

如何让大脑听话

我们该做的都做了,余下的就得靠你自己了。下面的小提示只是起点,你需要倾听大脑的心声,找出哪些做法对你来说管用,哪些不管用。去试试吧。

别着急。理解的越多,需要记忆的就越少

不要只是埋头苦读,时不时地停下来想一想。看到问题时,不要马上去翻答案,要想象有人问你这个问题。大脑想得越深,学会并记住相关内容的可能性越大。

做练习,记笔记。

不能指望我们来替你做这些练习,不然,与让人替你锻炼何异。拿起笔来,亲自动手。大量的证据表明,在学习期间做些体力活动,可提高学习效率。

阅读“世上没有愚蠢的问题”。

一个都不要落下。这些都是核心内容,绝非可有可无的,千万不要跳过。

让阅读本书成为你睡前的最后一件事,至少不要做其他有挑战性的事情。

你放下书本后,学习过程(尤其是变成长期记忆的过程)还在继续。大脑需要消化的时间,如果在此期间你在做其他事情,就会忘记有些刚学到的知识。

多喝水

身体水分充足时,大脑最清晰。如果身体缺少水分(可能你还未感到口渴时就会出现这种情况),人的认知能力就会下降。

大声读出来。

朗读会激活大脑的另一个部分。要理解什么东西或加深对其的记忆时,可将其大声朗读出来。更佳的做法是,尝试向人进行解释。这样你将学得更快,还可能发现阅读时没有发现的新东西。

倾听大脑的心声

注意大脑是否不堪重负。如果你发现自己开始变得敷衍了事或看后就忘,就说明该休息了。疲劳到一定程度后,如果还不休息,就会欲速而不达,甚至影响学习兴趣。

心有感悟

这样大脑才知道你阅读的内容很重要。置身到故事中,给图片添加说明。即便是抱怨笑话太蹩脚,也胜过毫无感触。

动手实践

在新设计的项目中应用学到的知识,抑或改造既有的项目。只要动手实践就好,这样可获得一些做练习和活动时无法获得的经验。你需要的只是铅笔和需要解决的问题——一个可能受益于JavaScript的问题。

睡好觉

为学习编程,需要在大脑中建立大量新的关联。多睡觉吧,这大有裨益。

导读

这是一本学习用书,而不是参考手册。本书所有的内容都是精心编写的,扫除了所有可能的拦路虎。但读第一遍时,你还是得从开头读起,因为本书假设你已经理解了前面介绍过的内容。

我们介绍JavaScript的优点,同时提醒你注意其不足之处。

JavaScript并非出身于象牙塔的语言,未经学术同仁长时间的审核。JavaScript应运而生,在早期的浏览器社区长大。因此需要注意,JavaScript有优点,也有不足。但总体而言,JavaScript相当出色,条件是你能妥善地使用它。

本书介绍如何充分发挥JavaScript的优势,同时会指出它的不足之处,让你能够规避。

我们并未介绍这门语言的每个方面。

对于JavaScript,需要学习的地方有很多。本书并非参考手册,而是学习指南,因此并未涵盖JavaScript的方方面面。我们的目标是教你JavaScript的基本知识,让你能够读懂任何参考手册,还能使用JavaScript做你想做的任何事情。

本书介绍的是在浏览器中执行的JavaScript。

浏览器不仅是最常见的JavaScript运行环境,还是最方便的运行环境(开始JavaScript编程的唯一要求是,一台安装了文本编辑器和浏览器的计算机)。在浏览器中运行JavaScript还意味着你能马上看到结果:编写代码后,只需重新加载网页,就能明白其功能。

本书提倡遵循最佳实践,确保代码结构良好、易于理解。

你希望编写的代码对所有的人来说都易于阅读和理解,并能在新的浏览器中正确运行。你希望以最为简单直接的方式编写代码,在完成工作的同时保质保量。本书将教你编写结构良好清晰并能适应未来变化的代码,编写让你自豪得都想裱起来挂在墙上的代码。

我们建议你阅读本书时使用多款浏览器。

我们教你编写符合标准的代码,但你依然可能发现,浏览器在解释JavaScript方面存在细微的差别。我们将竭尽所能,确保本书的代码在所有现代浏览器中都能正确地运行,并介绍一些确保代码得到所有现代浏览器支持的技巧。尽管如此,我们还是建议你至少使用两款浏览器对你编写的JavaScript代码进行测试。这让你能够了解不同浏览器的差别,并创建在各种浏览器中都能正确运行并得到相同结果的JavaScript代码。

编程是件严肃的事情,你得亲自动手,有时还得不辞辛劳。

如果你有一定的编程经验,就能明白这一点。你若刚读完《Head First HTML与 CSS》,会发现编写代码有些不同。编程要求你采用不同的思维方式,它是一种逻辑性很强、有时甚至非常抽象的工作,要求你从算法的角度考虑问题。不过不用担心,我们的所有介绍都易于理解。只要一步一步来,并确保营养良好、睡眠充足,就能完全掌握这些新的编程概念。

活动都不是可有可无的。

在本书中,练习和活动并非附属品,而是核心内容的组成部分。有些活动和练习旨在帮助记忆,有些旨在帮助理解,还有一些旨在帮助你应用学到的知识。千万不要跳过。只有填字游戏并非是必做的,但它们能让你的大脑有机会从不同的角度思考这些单词。

重复是有意为之,而且很重要。

Head First系列丛书的独特之处在于,我们想让你完全理解学习的内容,读完后还能记得学到的知识。参考手册大多不以记忆为目的,但本书是一部学习指南,因此有些概念会反复介绍。

示例尽可能精简。

读者跟我们说,在一个200行的代码示例中寻找2行需要理解的代码真让人郁闷。本书的大多数示例都尽可能简化了背景,让要学习的代码简单明了。可别指望这些示例都完美无缺,因为这些代码是专为学习编写的,并非都功能完备。

为方便读者下载,我们将所有的示例文件都放到了网上:http://wickedlysmart.com/hfjs

“考考你的脑力”练习并非都有解。

有些“考考你的脑力”练习没有正确的答案;有些是要让你判断自己的答案是否正确以及在什么情况下是正确的;还有些包含提示,旨在给你指明正确的方向。

我们通常只列出JavaScript代码,而不列出HTML标记。

除前两章外,我们通常只列出JavaScript代码,并假定你将把它们嵌入到正确的HTML 页面中。对于本书的大部分代码,你都可将其嵌入到下面这个简单的HTML页面中;要求将代码嵌入到其他HTML页面中时,我们会明确地告知。

获取代码示例、帮助和讨论

阅读本书所需的一切都可在http://wickedlysmart.com/hfjs找到,其中包含代码示例文件以及视频等补充材料。

技术审校

{%}

感谢出色的审阅团队

本书的审阅比我们以前编著的任何图书都详尽。事实上,有270多人加入了我们的WickedlySmart项目,实时地对本书进行审读和批评。这样做的效果超乎想象,对改善本书的各个方面大有裨益。这里衷心感谢每位审阅人员,是你们极大地提高了本书的品质。

上述技术审校都非常出色,他们还提供了其他的反馈,为本书作出了巨大的贡献。下面的审阅人员也为本书的各个方面作出了贡献:Galina N. Orlova、J. Patrick Kelley、Claus-Peter Kahl、Rob Cleary、Rebeca Dunn-Krahn、Olaf Schoenrich、Jim Cupec、Matthew M. Hanrahan、Russell Alleen-Willems、Christine J. Wilson、Louis-Philippe Breton、Timo Glaser、Charmaine Gray、Lee Beckham、Michael Murphy、Dave Young、Don Smallidge、Alan Rusyak、Eric R. Liscinsky、Brent Fazekas、Sue Starr、Eric (Orange Pants) Johnson、Jesse Palmer、Manabu Kawakami、Alan McIvor、Alex Kelley、Yvonne Bichsel Truhon、Austin Throop、Tim Williams、J. Albert Bowden II、Rod Shelton、Nancy DeHaven Hall、Sue McGee、Francisco Debs、Miriam Berkland、Christine H Grecco、Elhadji Barry、Athanasios Valsamakis、Peter Casey、Dustin Wollam和Robb Kerley。

致谢*

*之所以在致谢部分提到这么多人,是因为我们想验证一个理论:书中致谢提到的每一个人都至少会买一本书,他们的亲戚朋友也可能会购买。如果你想让自己的名字出现在我们下本书的致谢部分,而且有一个大家族,请联系我们。

非常感谢受人尊敬的技术审校DavidPowers。事实上,我们编著图书再也离不开David了,他救了我们无数次。David之于我们,犹如擅长作词的Bernie之于作曲家Elton;这让我们禁不住扪心自问,没有他我们还能编著图书吗?David帮助敦促我们将本书写得更出色、技术上更准确他的第二职业是脱口秀演员,在我们改进本书较为幽默的部分时帮了大忙。再次感谢David——你如此专业,知道通过了你的技术审核后,我们连睡觉都更安稳了。

O'Reilly的编辑

还要万分感谢编辑Meghan Blanchette为本书的出版铺平道路并扫除所有的障碍,感谢她耐心地等待并牺牲与家人团聚的时光。她还让我们在和O'Reilly处理彼此关系时保持理智。我们太喜欢你了,迫不及待再次与你合作!

特别感谢荣誉主编Mike Hendrickson提议编写本书。再次感谢 Mike,如果没有你,我们一本书都出版不了。十多年来,你一直是我们的头号功臣,真是太爱你了!

O'Reilly团队

还要衷心感谢O'Reilly团队。感谢Melanie Yarbrough、Bob Pfahler和Dan Fauxsmith群策群力,让本书得以付梓;感谢Ed Stephenson、Huguette Barriere和Leslie Crandell在营销工作上身先士卒,我们很喜欢他们的创造性营销方式;感谢Elli Volkhausen、Randy Comer和Karen Montgomery充满灵感的封面设计,一如既往地让我们非常满意;感谢Rachel Monaghan所做的文字加工工作,既一丝不苟,又保留了幽默的风格;感谢Bert Bates提供宝贵的反馈。

目录