标题写得有点大, 其实只是给一位想学习 Javascript 的朋友推荐一些学习方法和入门技巧.
Javascript 是一门简单易学, 门槛极低的语言. 编程入门我觉得从 Javascript 入手也非常合适. 只要有个文本编辑器, 不超过 30s 就可以写一个 Hello World 程序.
下面是一个学习提纲, 一般不管有没有编程经验的人, 按提纲学习完了基本就可以算是入门了(其实任何一门编程语言的基础学习内容都大同小异):
- 数据类型:
Javascript 的数据类型算是比较简单的, 入门学习我觉得就知道有数字, 字符串, 布尔, 数组, Date, null 就够了, 提高的时候随便找本手册通读下数据类型部分也用不了多长时间就能掌握, 关键还是在实际应用中去理解. - 表达式和运算符:
简单来说就是 a = b + c 这种形式的语句, 整体叫做表达式, 其中 = 和 + 是运算符, 入门阶段会用"加减乘除与或非"再加上++, --, ==, != 就够用了. 这部分内容也不多, 建议找本手册通读一遍. - 语句:
这部分较前面两部分稍显复杂, 但多做些实验, 接触多了自然就掌握了, 无非就是判断, 循环, 定义变量, 函数一类, 写任何程序都离不开这些东西, 因为实在太基础了. - 定义/调用函数:
一个完整的项目就像一辆汽车, 前面提到的就像汽车的零件, 要把零件变成汽车, 还需要一个中间过程, 就是把零件先组装成发动机, 传动系等可以独立运行的系统, 每个系统中还可以包含更小的系统, 这就是函数.
函数简单说就是一个个功能块, 定义好功能块, 然后装配到项目中去应用, 有的功能块像发动机, 只用到一次, 有些功能块像车轮, 会用到多次.
- 数组的操作:
数组是个很神奇的东西, 是一定要掌握的, 首先理解数组的概念, 尝试操作一个数组, 最好数组的每个方法都实验一下(一共也没几个方法), 还是建议通读手册相关章节. - 字符串的操作:
字符串是 Javascript 的一个基础数据类型, 应该是开发中接触最多的一个数据类型, 字符串在 Javascript 中可以被看作是数组(但也不完全是), 另外字符串也有很多自己的方法, 建议通读, 每个都做下实验理解其作用. - Dom 操作:
Javascript 除了处理逻辑, 最终还是要服务于 HTML 的, 所以 Dom 操作是必不可少的, 入门阶段可以简单掌握一些基础操作就好(能够动态修改 Dom 就行). - 事件:
Javascript 最神奇的一点就是事件驱动, 有了事件, 就一切尽在掌握了, 学习了事件之后, 你的入门之旅也就基本结束了. 恭喜 :D
入门后建议完成几个实验:
- 显示当前时间:
获取时间各部分(年月日, 时分秒, 毫秒), 时分秒为个位数的话前面要补零. 可能的话最好做个时钟.
知识点: 字符串, Date 对象, 简单 Dom 操作, 定时器(提纲中没有提到, 查询手册中关于 setTimeout 和 setInterval 部分)
DEMO: http://jsfiddle.net/dofy/v07hL8jx/ - 表单数据验证:
验证特定文本框中的数据是否合法, 比如类型检查(是否是整形, 小数), 长度检查, 格式检查(身份证号, 手机号, 日期, 特定格式)
知识点: 表单操作, 简单 Dom 操作, 理解数据类型, 事件应用, 字符串学习(可扩展数组学习).
DEMO: http://jsfiddle.net/dofy/vgvv8f80/ - 模拟单选和多选组件:
随便用什么 html 标签当作 item, 写一个 list 结构 (最合适的是 ul > li), 点击 item 实现选中/取消选中状态, 单选和多选都要实现, 并能得到选中结果.
知识点: 较复杂 Dom 操作, 配合样式, 数组的应用, 事件应用. - 测试你的键盘:
绑定键盘事件, 测试每个按键对应的键值, 配合 Ctrl, Shift 组合键, 自己研究下, 玩点花样.
知识点: 键盘事件, 其他(看花样玩到什么程度了)
附:
- Javascript 在线入门学习: http://www.codecademy.com/
可以通过该网站在线学习 Javascript (在线编写代码, 得到结果), 从基础学起, 一步步引导深入, 非常赞. - 一个实验室: http://jsfiddle.net/
也是一个在线工具, 通过其他资料学习过程中可以在这里做实验, 非常方便. 另外除了原生 JS, 还有支持很多常用 JS 框架. - 一个框架: http://jquery.com/
jQuery 是个 js 框架, 所谓框架就是用原生的 js 封装的一套工具库, 有了框架, 当你组装你的汽车时就不会只有难用的扳手和改锥了, 甚至有使用魔法的感觉. - 一个编辑器: http://notepad-plus-plus.org/
著名的免费开源编辑器. 不多说, 使用软件和学习编程一样, 摸索的过程是充满惊喜的. - 一本在线手册: http://www.w3school.com.cn/js/index.asp
w3cschool 还有其他相关教程, 都非常值得参考.
最后要说的:
掌握一门语言最好的办法就是多做, 桌面上放一个编辑器一本手册, 遇到问题做实验查手册, 没有什么是搞不定的; 另外学习是一件长期的事情, 有时候可能是痛苦的, 但痛苦和纠结过后得到的快感是任何事情无法比拟的, 加油~~~