学习JavaScript的最佳方法分享


Posted in Javascript onOctober 21, 2011

学习新的东西是件可怕的事。对我来说,掌握一项新技能最大的问题是,我不知道自己懂什么。鉴于此,定个计划,学习你感兴趣的东西应该会有用。这篇文章的主旨就是:你为学习JavaScript 制定的蓝图、路线、行动计划!你不必担心找不到最好的资源,先整理些不好的资源,再确定下一步该学什么。遵循它,一步一步来。

学习JavaScript的最佳方法分享

任务0:了解什么是JavaScript

在你真正开始学习JavaScript 之前,花一分钟了解一下什么是JavaScript,它有哪些功能。 JavaScript不是jQuery、Flash或Java。与它们不同,它是一种独立的编程语言。 JavaScript 是浏览器语言(尽管现在不完全是)。主要目的是给静态页面增加交互性。在浏览器里,它不会为你更换PHP或Ruby,也不会更改你的HTML或CSS;你可以把它们串在一起使用。另外,它没有你想的那么难学。 补充说明:你应该听过jQuery,它可能是被使用最广泛的JavaScript 库。也许你还听说过其他比较流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等。可以将它们统一看做JavaScript辅助工具集;当你使用它们的时候,你还在写JavaScript,但都是些很抽象的JavaScript。它会让你事半功倍。 “你甚至可能听到有人说,你应该先学jQuery(或其他库)再学JavaScript。我很尊重他们但完全不同意这种说法。先把JavaScript 学好再用其他库,你会发现你会做的更好;结果就是,你会编写更好的JavaScript。”

任务1:通过Codecademy.com站点的课程来学习

Codecademy是一个相对较新的网站,其广告语是“最易学的编码方法”。目前,该网站仅有两个课程,“初级编程”和“JavaScript快速入门指南”。沉浸在JavaScript 中是种不错的体验。跟 Try Ruby 练习非常相似,你会学到简短的课程、在浏览器里编码,然后看结果。得到全部分数、打开成就徽章。(Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言。) 如果你已熟悉了另一种编程语言,你也许可以先学“JavaScript快速入门指南”;如果这是您第一次编程(HTML和CSS除外),你会发现“初级编程”课程相当有用。Codecademy是一家免费网站,但需要注册。

任务2:appendTo 截屏方法

appendTo 视频有一套特别适合初学者的截屏方法。 如果你想用正确(容易)的方法学习JavaScript,学习这些课程绝对管用。视觉训练总是有效的! “用我们提供的点播内容、务实的训练解决方案来提升自己的技能。无需注册、无需绑定、绝不忽悠。”

任务3:阅读一本好的关于JavaScript 的说明书

一旦你通过Codecademy上的课程来学习,你就会想搞到一本关于JavaScript的详细说明书?介绍所有的类型、运算符、控件架构等等。 如果可以的话,我来介绍几个好的说明书: 《再说JavaScript》 ? 这本说明书可在Mozilla开发者网络上找到,语言公正。这本书内容很丰富,有很多代码实例和文段介绍。 《Eloquent JavaScript》 ? 该书由Marijn Haverbeke 编写,可免费在线阅读,如果你想弄个硬拷贝可以上亚马逊网站购买。它比MDN说明更详细,因为它不仅涵盖了JavaScript 语言,而且包括编码风格以及在浏览器里使用JavaScript。当然,“eloquent”并非言过其实。(eloquent - 雄辩的、口若悬河的) 《Getting Good with JavaScript》 ? 没错,这本书是我写的,但是我介绍这本书是另有原因的。它跟我在前面介绍的两本说明不同;在这本书里我只介绍了编程人员快速掌握编程技巧所需要的部分。此外,它还附带超过6个小时的截屏视频,因此,想要就去看看吧。(当然,这本不是免费的。)

任务4:安装、学习Firebug(或开发人员工具)

一旦你开始在浏览器里使用JavaScript,就需要安装Firebug并熟悉它的性能。Firebug是一款用于Firefox的插件,它能帮你创建和调试网页:对网页开发者来说,它就像外科医生的‘手术刀'。如果你不用Firefox?喜欢Safari 或者Chrome怎么办?没问题:可以查找类似Firebug的内置开发人员工具。 “你可以在Mac地址栏里按选项+命令+I 或者按快捷键Control + Shift + I ,来打开设计工具面板。” 通过打开你选的工具,只需在你喜欢的其中一个网站上点击点击,你就会学到很多东西。这里有一些能加速你学习的资源:FirebugFirebug网站和维基百科Firebug的CSS-技巧说明你应该在Nettuts+上使用Firebug的10大理由。Firebug:从白带到黑带,Tuts+ Marketplace 网站(http://marketplace.tutsplus.com/item/firebug-white-to-black-belt/118795)设计工具设计工具网站Google I/O 2011:由Paul Irish重组的浏览器设计工具Google 浏览器设计工具:Paul Irish 的快速开发12技巧

任务5:读一本有关JavaScript的书籍

现在你已经熟悉了些基础知识,但是还有很多东西要学。尽管我推荐的一些书可能会让你‘破产',但你会发现任何时候我都会推荐4本高质量的书:

前两本是一般的、较深入的JavaScript 资源,它们会让你从简介到较深层次逐步理解;当然,简介里会有一些重叠的说明,但不多:刚好让你看起来很舒服。(注:虽然这些书在亚马逊网站能买到,我已经链接了出版商的网站,因此,你能看看范例章节。) 《JavaScript高级程序设计》- Nicolas C. Zakas 编写,这本书涵盖了它能涵盖的所有内容。如果你以前看过Zakas的任何作品,你会发现他是个不折不扣的天才。除了涵盖了JavaScript语言,这本书还能让您在浏览器里很好的使用JavaScript。 《JavaScript 24-hour Trainer 》由Jeremy McPeak 编撰,该作者也写过Nettuts+。它不仅仅是一本书:还附带了一张长达四小时的教学光碟。全书共43节课,涉及编码句法指导和代码优化。 虽然这些书非常适合编程人员学习JavaScript语言以及如何在浏览器中使用这些语言,但是学无止境。虽然这些书的确进入了一些模式和实练中,我再推荐两本我认为有用的书。1)《JavaScript Patterns 》- Stoyan Stefanov著。我也是刚刚读完这本书,我真希望能尽快读完它。在读过上面的资源之后,你可以学到如何编写JavaScript,但是这本书会教你如何对资源进行重组,这项技能很重要,并非如你想象般简单。2)《JavaScript:The Good Parts 》- Douglas Crockford 著。该书介绍了JavaScript的优缺点。

任务6:做些事情!

在学习完上述资源后,你应该已经尝试了一些代码样本:修改代码、整合代码看看会怎么样。但是是时候让自己休息一下,做点东西出来了。 你能做什么呢?你能做很多东西。这里有一些意见。1) 图片库:显示一套图片缩略图和主图。当用户点击缩略图的时候,要用较大的缩略图(不是原缩略图)替代当前的主图。如果你能覆盖缩略图alt 标记的标题就奖励积分,或是在用户一分钟内未点击的时候进行图片循环。2) 待办列表:听起来有点难,我也不打算推荐你制作一个完整的待办列表。只需要做一个文本框并在其旁放上按钮;点击按钮的时候,已输入的文字会在一个无序列表下面变成一个项目。点击列表项目便可移除。这听起来很容易,但有几个陷阱,对初学者来说仔细想想还是很有好处的。3) 动画框:动画其实是小把戏而已,并不需要弄得太复杂。做一个包含了少许文本的div,其上要有若干按钮。一个按钮用来调整宽度,一个用来调整高度;还有一个用来调整背景颜色。关键是不要让更改发生得太快,但在一秒钟之内。记住,Google 是你的朋友,特别是如果迄今为止你还未用JavaScript做任何动画的话。 我相信你能想到其他的很好的练习的计划。当然,学习的唯一方法是把自己从安乐窝里拽出来。“此外,在所有的技能水平上,确保JavaScript 类别在Nettuts+上有大量教程列表。”(Nettuts是一个专注于提供网络开发教程的网站。)

任务7:开始学习如何使用JavaScript库

如果你学到了这个地步,就会意识到有些JavaScript 编写任务很难(或根本不能)通过跨浏览器的方式实现。最可能违规的便是过量的DOM操作,AJAX和动画。这也就是为什么我们需要JavaScript 库的原因。 正如我前面提到的,一个JavaScript 库的详细内容犹如减轻痛苦的蜜糖。因此,现在有必要来看一下。这里有大量库供你选择,我会让你自己决定从哪个开始。无论是jQuery 还是Mootools,YUI 还是Dojo,它们各自的网站会为你提供开始学习时你所需要的一切信息。如果你觉得用得着就来试试吧。 最流行的库: 虽然很容易得到大量的库,你还是应该选一个受欢迎的? 至少排名第一。 jQuery Dojo YUI MooTools Prototype

任务8:紧随大师的步伐

有很多令人难以置信的JavaScript 天才,他们一直在做些很酷的东西,你一定不想错过。值得庆幸的是,我们的工作狂Siddharth 副主编已经搞到一份33名设计人员列表,要想成为一名JavaScript 发烧友你就必须订阅它。扔下手头的工作,订阅/跟随这些设计人员。这是必须要做的。 但是,你还能做更多事情。这个公平网站经常发布关于JavaScript 的信息,所以不要走开。此外,关注JavaScript Show ,一档全世界关于JavaScript最新最大的播客。你可能还想注册JavaScript电子周刊简讯。 还想要更多吗?关注Tuts+Marketplace 的JavaScript 类。

最后undefined 感谢阅读此文!真诚的希望它能帮你成为一名JavaScript 爱好者。如果你已对JavaScript 很熟悉,你可以在评论中推荐其他任何相关资源。

原文:http://article.yeeyan.org/view/188878/225166

Javascript 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
Jun 26 Javascript
javascript实现单击和双击并存的方法
Dec 13 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
对vux点击事件的优化详解
Aug 28 Javascript
详解JavaScript中操作符和表达式
Sep 12 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
修复IE9&safari 的sort方法
Oct 21 #Javascript
修复ie8&chrome下window的resize事件多次执行
Oct 20 #Javascript
jquery ajax return没有返回值的解决方法
Oct 20 #Javascript
IE与FireFox中的childNodes区别
Oct 20 #Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 #Javascript
基于jquery的$.ajax async使用
Oct 19 #Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 #Javascript
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
python入门教程之识别验证码
2017/03/04 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
销售冠军获奖感言
2014/02/03 职场文书
餐厅经理岗位职责范本
2014/02/17 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
廉洁使者实施方案
2014/03/29 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
2016新年致辞
2015/08/01 职场文书
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python