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 相关文章推荐
jquery模拟LCD 时钟的html文件源代码
Jun 16 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
微信小程序支付前端源码
Aug 29 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
php Smarty 字符比较代码
2011/02/27 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
获取body标签的两种方法
2011/10/13 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
python读写json文件的简单实现
2017/04/11 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
python3.7.0的安装步骤
2018/08/27 Python
python制作图片缩略图
2019/04/30 Python
Python读取csv文件实例解析
2019/12/30 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
美术专业自荐信
2014/07/07 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
2014年医院工作总结
2014/11/20 职场文书
2015年消防工作总结
2015/04/24 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
Python基础之操作MySQL数据库
2021/05/06 Python
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python