-
学习一门弱类型的编程语言,不要先学习那种具有强制类型的、面向对象的编程语言。严格而言,如果有人对你提到 class (类)或继承,那么你就应该去选择其它的途径了。虽然我认同类和继承相关技术是软件开发中必不可少的,但是我强烈认为它们不应该是初学者的选择。
-
鉴于此,我认为 JavaScript 是初学者而言最理想的编程语言,因为:(a) JS 解释器在绝大部分浏览器上都可用,(b)它的面向对象特性并不是强制型的,(c)在工业界被广泛使用(是的,即使是 web 之外的客户端,即使是现在担任设备工程师的我也做嵌入 JavaScript 的工作。)
-
说得更具体点,我建议你学习用 JavaScript 如何学习去下面的事,特别是以这个顺序:
-
学习如何打印出一些东西,学习如何声明和定义变量,学习基本算术运算操作(包括余数操作),学习循环(特别是 for 循环),学习把抽象重复的代码写成函数,学习字符串和用循环操作字符串,学习数组和数组的循环方法(特别是 foreach 循环),学习创建和操作对象数据集。
-
记住上面的这些并每天写一个程序来实践,直到这些都轻而易举地想起来。
-
学习 Git 的基本操作,学习通过命令行使用 Git。这意味着要先学习四个Unix/Linux 命令(ls,pwd,mkdir,cd)。当学习了这几个命令,也就学会了以“树型”或层次结构的呈现方式查询文件系统。
-
一旦你掌握了上面的几个 Unix/Linux 命令,并会从命令行进入文件系统,你就应该学几个基础的 Git 命令。主要是 git init, git status, git add and git commit。
-
一旦你掌握了 Git 的基本操作,在学习下面的技术时将其集成到你的工作流中。
-
学习 HTML 基础,能够凭记忆创建简单的 HTML 页面。学习 DOM 和如何理解 HTML 作为指定的分层树结构。花点时间来思考它如何关系到你在前面步骤中学到的分层文件系统。
-
学习 CSS 选择器,了解它如何让你选定 DOM 的某些部分。了解 DOM 元素之间的关系。了解一个 DOM 元素作为另一个 DOM 元素的父元素或子元素的含义。理解这与后代和祖先之间的关系有什么不同。记住选择器可以让你通过这些关系来选定某些元素。
-
学习 jQuery,并主要专注于 DOM 的操作能力。学会用 jQuery 对 DOM 插入或删除元素,实践可视化如何影响用 DOM 定义的树型结构。
-
实践 jQuery 中的事件处理和 DOM 操作(比如,实践操作 DOM 当用户点击某个东西,或在指定的时间间隔)。
-
多练习 JavaScript 对象,并把它们当作可变的聚合器。学习如何用 JavaScript 来表示更复杂的数据而不是基本数据类型。学会应用并操作这些数据结构。理解并定义JSON、理解它如何与 JavaScript 对象相关联。
-
学会使用 jQuery 的 getJSON 函数从文件中获取数据到 JavaScript 对象中。使用类似的技术,用一个简单的 JSONP API 去练习用 AJAX 拉取数据。练习向 DOM 插入和删除这个数据。
在这个阶段,做一个简单的幻灯片来循环播放 Flickr 图片,这将是一个令人难以置信的项目,将真正考验你的能力,使用之前学过的基础技术来实现它。