Javascript学习指南


Posted in Javascript onDecember 01, 2014

javascript入门太容易了,导致几乎人人随便看看就能上手,零基础的人学个三五天都能对外宣称自己掌握了js。可是真正掌握js是一件很难的事情。如果在初学一门语言的时候第一想到的是问别人,是很难取得进步的。因为得到答案太容易,而不会去想为什么。而且说实话,js并不适合作为第一门编程语言,它兼容并包,容错性高,但这也意味着一但出错你就很难找到错误的原因。另一方面js有一些优秀的特性对于没有编程经历的人来说也很难发现。

如果你真想学好js,我有个大概的自学轨迹供你们参考。

第一步,学习w3school的js编程。

w3school提供了最基础的js学习方案,非常粗略,但很适合让你了解客户端js的概貌。立即可以尝试的实例,也可以让js的初学者马上看到效果。

第二步,你需要一本系统介绍js的书,比如犀牛书(javascript权威指南)。

w3school能告诉你的只有js大概是什么。但你接下来要了解的是js真正是什么。犀牛书就充当了这个角色。犀牛书的涵盖面非常广,并且内容非常全,可以为你打开整个js的世界。当然因为犀牛书比较厚,而且看的时候你没办法马上做点什么成果出来,所以这段时间会比较艰难(对我来说还挺有意思的,因为我喜欢js嘛。)但是如果你真能啃完这本书,我相信你也会被js的魅力所吸引。

第三步,了解js的精华——《javascript语言精粹》

这是一本很薄的书,大概一两天就可以看完。但完全不适合初学者看,当然,相对于看完犀牛书的人来说,就非常适合了。js的诞生太过于仓促,以至于它不得不保留很多糟糕的特性,但你有权利不使用那些。犀牛书告诉了你js是什么,而这本书则告诉你js的精华(与糟粕),看完以后相信你会受益匪浅。

第四步,读代码

如果你不借助任何第三方js库来完成你的网页,说明你很厉害,但我不提倡你那样做。你完全可以使用优秀的第三方js库来进行更快速的开发,比如jquery,dojo,d3等等。而且更令人兴奋的是,这些别人写的js对你是完全可见的。读代码是对一个人编程能力提升最快的方法,但凭空读代码肯定会让你头痛不已。你如何才能快速理解别人为什么要那样写代码?一来你已经读过两本经典的js书籍,你脑子里已经装上了js的精华,二来,你也可以到各种程序员社区提问。

第五步,向开源社区提交代码。

读懂别人的代码是学习,而改进别人的代码则是创造了。
加油吧,总有一天你可以完成一件属于你自己的、开天辟地的作品。

总结:简单的说学习javascript就是要先打好基础,然后多读代码,最后写些例子提交到开源社区,让大家指正你的错误,这样才能更好的进步。

Javascript 相关文章推荐
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
JS实现浏览器状态栏显示时间的方法
Oct 27 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
Apr 22 Javascript
微信小程序 navbar实例详解
May 11 Javascript
Angular4 Select选择改变事件的方法
Oct 09 Javascript
在layui tab控件中载入外部html页面的方法
Sep 04 Javascript
vue获取form表单的值示例
Oct 29 Javascript
JavaScript对象属性操作实例解析
Feb 04 Javascript
Javascript模块化编程详解
Dec 01 #Javascript
浅谈Javascript中深复制
Dec 01 #Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 #Javascript
关于javascript模块加载技术的一些思考
Nov 28 #Javascript
jQuery实现Twitter的自动文字补齐特效
Nov 28 #Javascript
关于编写性能高效的javascript事件的技术
Nov 28 #Javascript
推荐25个超炫的jQuery网格插件
Nov 28 #Javascript
You might like
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
四个PHP非常实用的功能
2015/09/29 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
Js组件的一些写法
2010/09/10 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
浅析Python中字符串的intern机制
2020/10/03 Python
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
C#的几个面试问题
2016/05/22 面试题
硕士研究生个人求职信
2013/12/04 职场文书
大学生职业规划论文
2014/01/11 职场文书
建议书的格式
2014/05/12 职场文书