JavaScript自学方法

现在打算0基础开始自学JavaScript,但是看了很多在线教程都是从最底层的变量,函数,对象等比较抽象的概念开始的。 相比这种,有没有更好的学习方式?比如说先去找现成的JS,JQ代码做效果 搞懂了再回头看这些底层的逻辑。大神们给指点下~

阅读 10.1k
9 个回答

从最底层的变量,函数,对象等比较抽象的概念开始,不知道学这些有什么用,你会学的很无聊,百度搜索智能社,看它的免费视频,0基础,不讲无聊的逻辑,直接教你做很有意思的例子,在实战中你才会发现很多你不懂的,你自然会回头很有兴趣地去学习ECMAscript的基础。
接着再去买本《javascript高级程序设计》,不要买《javascript权威指南》,看三分之二的样子,你基本就从入门变成菜鸟了
不用谢我。

如果你的目标是「学习 JavaScript」的话,跟随 w3school 的脚步挺好的。然后再去看别人的代码,读 MDN,研习 W3C 文档。

如果你的目标是「这个效果好棒呀我也要做一个类似」,那么我不反对你直接去看已有的代码。

如果你的目标是「做出原创性的让人眼前一亮的页面」,那么参照第一段。随便说一句,效果漂亮不意味着代码也漂亮,代码漂亮也不意味着适用性好。

曾经上课的时候看犀牛书 js高级程序设计,下课敲代码练习,看了一学期,时间花的不多。然后看网上大多数效果一眼心中就有数了,看jqAPI的时候就很清楚各种方法背后省去的方法。这个时候不知不觉就入门了。

入门学习codecademy和code school,或者codecombat, 有了基本的认识,再看点大牛的博客, 自己留意点好的网站, 比如daily javascript什么的, 没事就在chrome dev tools敲点练练手

有其它语言的编程基础的话,找一本概括了js知识结构的书,从头到尾看完即可;没有编程经验的话,那就不好说了;

先搭骨架,再填充代码
对于所谓的设计模式、代码结构相关的问题,最好是先别关心,大家都是从if...else...一路走过来的,写代码前在纸上把你的代码流程分析一遍(每个人对于任何问题都可以想到至少一种方法,只是有的高级有的低级而已,所以先别管你设计的流程效率高不高的问题,能解决问题就行),然后再用代码描述你设计的流程(遇到不懂的问题就马上查阅手册),不要边写代码边设计程序,对于任何一个初学者来说,这都是大忌;

别人的代码不一定是对你有用东西
看别人的代码确实是一种学习方式,但是别人的代码风格迥异,而且初学者的思维是线性的(有其它语言的编程经验者可能除外),而大牛们的代码绝对不是线性的,会有各种封装、各种抽象等等非线性的意识包含在里面,所以咱走路还不顺溜的时候就先别考虑飞奔的问题;

看一本好书
但是,不看别人的代码还是不行滴。。。推荐你一本书《javascript程序高级编程》,人民邮电出版社,一字一句看几遍,远比看从网上搜罗来的质量参差不齐的代码有用的多。打个比方,如果你想学会做“宫保鸡丁”这门菜,你应该先花足够的精力明白酱油、醋、葱、姜、蒜等等这些佐料分别有什么功效,鸡肉这种食材的特性,不同的火候对食材有什么影响等等,而不应该把太多的注意力放在第一步该做啥,或者,酱油放几勺,以及更嘻哈的,如何把菜的照片拍的更加容易勾起别人的食欲这种问题上。

水到渠成
有些经验性总结的知识,只能在一定数量的重复实践后才会真正理解。放弃学习原生的js而仅仅只是熟练运用类似于jquery这种框架性质的东西写程序的话,总有一天,你终究会被一些无法理解的异常问题搞的痛不欲生。再换一个角度说,有些东西是水到渠成的,当你脑海中关于js的知识框架搭建异常完美的时候,你也许会惊讶的发现jquery这种东西仅仅只是作者玩的一个文字游戏罢了,原理根本就不复杂。

给题主一些思路吧,至于怎么学,就看什么方式适合答主。

javascript包含三个方面:javascript语言本身,BOM和DOM

1.javascript语言本身。
基本的语法就不多说。这里要强调的是:在javascript的世界中,几乎一切都是对象。
这里要学习是javascript的面向对象编程,和理解javascript的函数式编程的魅力。

2.DOM和BOM
这两个都是要在浏览器层面的东西。简单的说,它两个说的几乎都是window对象下的属性和方法。
DOM说的是如何操作文档。
BOM说的是如何操作浏览器。

关于如何学习
建议多去练习吧。比如学习jQuery之后,尝试编写jQuery的插件。
开始的时候不要管浏览器兼容,不然很容易打击信心,而且很花时间的。

以上全是个人的经验,有任何不对的地方,希望大家能指正。哈哈,菜鸟飞过。。。

新手上路,请多包涵

我是写C/C++程序的,在Codecademy接触了Python后,就一口气把javascript和jQuery课程的练习也做完了,感觉这样入门很快,可以开始写一些自己的简单网页了,总之就是多写吧。各种语言的语法有很多相似之处,入门之后应该把重点放在javascript的特殊之处上,关于这个我认为Zakas的《Javascript高级程序设计》很不错,jQuery的学习则推荐《锋利的jQuery》。

没事就在chrome控制台里练呗。

我是先学习jquery再来学习javascript的,我知道这个答案会招到很多原生态js党的鄙视,但是我觉得先学习jquery,一个网页的基本功能都能实现了,再学习javascript只是更好的理解jquery而已

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏