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 相关文章推荐
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 Javascript
JS类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
jQuery与其它库冲突的解决方法
Jun 25 Javascript
js 获取(接收)地址栏参数值的方法
Apr 01 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
详解Vue 多级组件透传新方法provide/inject
May 09 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 Javascript
js实现弹窗效果
Aug 09 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
Aug 14 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
一段php加密解密的代码
2007/07/16 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python中多线程thread与threading的实现方法
2014/08/18 Python
python执行外部程序的常用方法小结
2015/03/21 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python中while和for的区别总结
2019/06/28 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
Overload和Override的区别
2012/09/02 面试题
医学生求职自荐信
2013/10/25 职场文书
高中军训感想300字
2014/03/04 职场文书
父亲节寄语大全
2015/02/27 职场文书