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 相关文章推荐
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
Jun 05 Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
基于javascript实现图片懒加载
Jan 05 Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 Javascript
JavaScript解析机制与闭包原理实例详解
Mar 08 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 Javascript
javascript数组includes、reduce的基本使用
Jul 02 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
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
Python 如何实现访问者模式
2020/07/28 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
Linux常见面试题
2013/03/18 面试题
优秀班干部事迹材料
2014/01/26 职场文书
全国道德模范事迹
2014/02/01 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书