如何正确学习JavaScript

如题所述

JavaScript作为网站前端的核心知识是非常重要的,但是如何学习JavaScript是很多初学者面对的一个难题,下面我说一下个人对于如何学习JavaScript的一点心得,希望能帮到大家。

1、首先学习基础,尤其是JavaScript与其他语言不同的基础知识。

学习每个编程语言可能都要从基础的变量函数结构等学起,JavaScript相对于其他的编程语言在基础上有一些比较有特点的地方,这些东西是尤其需要我们注意的,比如说自调函数、比如说变量值为空不是null而是undefined的等,这些东西都是和主流的编程的语言如c++、java等是有区别的,所以想要学好JavaScript,这些基础的知识一定要把握好学习好才行。

2、关于学习JavaScript的进阶

JavaScript进阶知识更是有很多难理解的东西和不同于其他语言的东西,这些东西都是深入学习JavaScript的难点,简单的说一下JavaScript是基于对象的浏览器脚本语言,但是为了使JavaScript也能够支持面向对象编程,人们就使用了很多的方法来模拟面向对象的的特点,这些就变成了JavaScript的一些难点,比如说JavaScript的继承要借助原型、比如JavaScript的类需要使用构造函数来构造一个对象等,这些东西都是和其他支持面向对象的语言是不同的,所以就导致了一些难点。关于进阶学习JavaScript,还有JavaScript一些深入的知识需要去理解比如原型链和闭包、比如收函数的作用域执行流程和上下文,这些东西都是JavaScript比较深入的知识、

最后说明,JavaScript作为前端的核心语言绝对没有没有想象的那么简单,要想学好JavaScript除了以上提到的知识和注意点,还需要的就是多动手和实践,我们都知道网页上的所有特效都是借助JavaScript来实现,那么我们就需要在学习JavaScript的过程中多使用原生的JavaScript代码实现一些特效,当然学习使用jQuery等JavaScript类库进行开发也十分的重要,但是这绝对不能是取代我们学习JavaScript的方法。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-28
如果要我来说,学习编程重要的是钻研和实践。比如我自己,虽然不能称为大神,但JS方面能够难倒我的不多,但从来没买过实体书,没买过任何参考资料和学习资料。你说你正在做的是网页制作,那么在这个过程中,你一定接触了许许多多的JS代码,就像你所描述的那样,各种网页特效等等。但是,这些网页特效在你的手中,仅仅是下载之、复制之、嵌入之、发布之,这怎么可以呢?从我开始学编程以来,只买过一本PHP开发王,还一真陈列着,好不容易看一看,却感觉看书并没有太大的意义,唯一的意义就是书里的东西系统一些,全面一些,但对建立编程思想,没有太多的益处,其它的书我没看过,不敢妄加评论,但我觉得,重要的并不是书,而在于写。平时总听到一些人说:“要做一个有思想的人。”那么,这个有思想,不仅仅体现在平时的为人处事,举手投足,还包括编程。从最小做起,自己独立写出一段实现以前下载回来的那些特效代码所拥有的功能,写出来之后,你会领悟到代码中包含的各种思路、实现手段以及编程思想。从易到难,从简到繁,一步步踏实走过,你就发现,不过如此。尤其现在的搜索引擎,它的强大给我们程序员带来的好处不言而喻,这也正是我不买任何资料的原因所在,而通过搜索得到的学习资料,集众家之所长,网上形形色色的各种博客博文,技术文章,很多都是程序员们的得意之作,他们炫耀之,我们学习之,看得多了,汇集到你一个人的脑海中,高手,自然就练成了。另外,我本人最鄙视的就是那些所谓的笔试,拿出一些生僻的函数,让你写神马功能,这是延伸了应试教育的陋习,没有太多现实意义,一个人脑海中有了编程思想,一些特殊函数会不会用又有什么关系,如今发达的网络,有什么信息是你不能随手得到的,把所有复杂的大量函数记忆在脑海中,而忽视了编程思想本身,就是一个极大的错误。而有人就会觉得,你说的生僻函数,却是有许多人都知道的啊,没错,这一点我承认,这也正是积累带来的好处之一,当你代码写多了,所见所闻自然越来越多,不限功能地开发各种应用,甚至开创性地开发许多程序、应用、功能、库,慢慢的,那些琐碎的知识,自然会记在脑中,抛之不去了。也不要去刻意记什么函数、语法,这些没有什么实际意义,高手们不是通过考查记下了多少函数来体现他们能力的,而是给你一个项目,你是否能在最短的时间里,完成程序的实现方案。能把所有函数记在脑中的,那不是程序员,是神仙。而编程思想的建立,只可意会,不可言传,不是不传,是没法传,只有你开发过大量的程序,编写数万、数十万、数百万行的代码之后,编程思想自然水到渠成。另外,学习编程最重要的并不是求教,当然,如果身边有这样的好条件,自然不能放过,也会节省你许多时间,但是,如果一个难题,在你百折不挠的努力下,经历若干坎坷完成了,你得到的,会!比如像百度之知道上,许多编程高手们,你看他们的提问数和回答数,完全不成比例,他们的积分用不完,花不掉,而一些人们,你看那点可怜的财富值,省着用啊,怕明天没有了,有问题就惨了,这个对比下,你有没有发现一个有趣的现象?我回答问题的时候,喜欢像你这样慷慨给分的,因为能够这样给分的,都在一定程度上说明有独立解决问题的能力的,也是有些思想的,而那些匿名的,不给分的,只有我实在找不到可以回答的问题的时候,才会最低优先级地考虑他们,而且不会在这些人身上花费太多的时间。而我,只有第一个提问,因为没有什么分,给的分数低于100分,其它的,全部200分,但慢慢的,我感觉没什么问题可问了,不知道问什么,财富值都用来兑换奖品和娃娃了。这是一个习惯,一个自我处理问题能力的良好习惯,一些人,一旦遇到棘手的问题,首先想到的是问,而不是想法自己解决,很可怕知道么。今天说得有点多了,也有点词不搭意,也没有给你提供具体的学习流程,但我觉得,这个学习流程可要可不要,每个人都是独立的个体,有自己不同的行走路线和人生轨迹,完全模仿,没个性!所以,从现在开始,着手编写代码吧,这才是实实在在,踏上高手之路的第一步。
第2个回答  推荐于2018-03-11
如今使用Javascript框架和插件构建的Web应用越来越多,并且已经能够实现3D动画特效、可交互的信息图等很有趣又实用的效果,如果想要做Web开发,Javascript是必需品。
目前自己的知识库中只对HTML和CSS这类非编程类的语言比较熟悉且能熟练应用。曾经有一段时间下了不少功夫在Processing这门基于Java再编译的语法相对简单的编程语言,但因为是基于Java,若想要将用Processing直接引用于Web,要么需要用户装个Java的web控件,要么,就需要把它转城Javascript来实现Web的无缝链接。如果Objective-C占尽了移动开发的风头,那么跟得上潮流的Web开发一定少不了Javascript。但是,作为一个有初步编程背景的人,如何自学,才能正确有效地掌握Javascript这门语言呢?
今天,终于在JavascriptIsSexy这个网站上的“How to Learn JavaScript Properly”这篇文章中找到了我比较认同的答案。
我目前接触和学习JavaScript的几个途径,一是Codecademy这个在线编程学习网站。正如JavaScriptIsSexy这篇文章的作者所言,Codecademy给出的案例任务大都是相对简单单一的小任务,即使完成了课程,也很难开始实战一款真正的Web App。
曾经有工程师向我推荐阅读“Javascript: The Good Parts”一书,但在这篇文章中作者则建议初学者不要阅读此书,等基础扎实了再读。
很开心的是,这篇文章推荐的入门书目之一是《JavaScript权威指南》,恰巧我已经在O’Reilly上购入了正版。虽然有些Web工程师觉得此书适合当参考书,但是经由JacaScriptIsSexy上的自学计划来看,如果合理地阅读权威指南上的部分章节,并亲手把书中配套的案例代码敲出来,对Javascipt初学者来说是非常重要的!
另一本推荐书目是《JavaScript高级程序设计》,不过如果有了《JavaScript权威指南》,没有这本书也没有关系。
“How to Learn JavaScript Properly”这篇文章给JavaScript初学者列出了6~8周的学习计划,除了阅读指定书目以及根据书中的内容敲代码。作者还建议初学者开通“StackExchange”的帐号以及JSFiddle的帐号,因为StackExchange如今以积累了大量技术开发问题和解答。而工程师们往往会使用JSFiddle这个在线的IDE来分享JS代码。
Codecademy不宜作为唯一的JavaScript学习平台,但在阅读作者推荐的书目的同时,配合Codecademy上的案例学习也是很有帮助的。
如果你想要自学JavaScript,又或者你已经有一定的JavaScript编程基础却觉得自己学艺不精,不妨读读“How to Learn JavaScript Properly”(英文),相信它会给你带去一些共鸣与收货的。本回答被提问者和网友采纳
第3个回答  2016-06-28
首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。
  谈不上经验,都是一些教训。
  这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。
  你叫一个大学生去教小学数学,不见得比一个初中生教得好。因为大学生早已经过了那个阶段,都忘记自己怎么走过来的了。而对于初中生,刚好走过那个阶段,对自己怎么走过来的还记忆犹新,或者还有一些自己的总结。比如,很多高手觉得那本犀牛书入门很好,他们觉得太简单了,但以我的经验来看,它不是入门的最好选择。
  先说说学js的条件
  论条件,咱是IT男;有人说英语,读了几年大学,很遗憾,咱还2级没混过;就咱这条件都学得乐呵呵的,您还等啥。
  当然学习JS也是有门槛的,就是你的html和css至少还比较熟练,您不能连<body>这东东是干啥的都不知道就开始上JS了,学乘除前,学好加减法总是有益无害的。
  再说几点忠告
  1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到。没达到一定的武功水平,割了小JJ也学不会葵花宝典的。
  2,别急着加技术交流QQ群,加牛人QQ。如果你找张三丰交流武功,你上去第一句问“丰哥,where is 丹田?”,你会被他一掌劈死的。
  3,看网上什么多少天精通JS,啥啥啥从入门到精通,这种教程直接跳过吧,太多的事实证明,以一种浮躁的心态去做任何事都会以失败而告终。
  4,千万别去弄啥电脑培训,花了钱和时间不说,关键是学不到东西。本来你买两本好书自学3个月能学会的,他们硬是能折腾你两年。
  推荐几本好书
  “超毛,你丫吹了半天牛B,还是没说怎么学啊”
  呵呵,我也没啥特别的办法,只是推荐几本好书。推荐的书,得按先后顺序看。别第一本没看完,就急着上第二本,并不是每次“穿越”都能成功的
  第一阶段:《JavaScript DOM编程艺术》
  看这本书之前,请先确认您对Javascript有个基本的了解,应该知道if else之类的语法,如果不懂,先去看看我第二阶段推荐的《Javascript高级程序设计》的前三章,记住看三章就别往下看了,回到《JavaScript DOM编程艺术》这本书上来。
  学习Javascript用《JavaScript DOM编程艺术》来入门最好不过了,老老实实看两遍,看完了你就会对JS有一个大概的了解,整本书都围绕着一个网页效果例子展开,你跟着老老实实敲一篇,敲完之后,你会发现这个效果不是常在网页中看到么,发现自己也能做出来网上的效果了,嘿嘿,小有成就感吧。
  第二阶段:《JavaScript高级程序设计》
  有的书是用来成为经典的,比如犀牛书;还有些书是用来超越经典的,显然这本书就是这种。书中章章经典,由浅入深,其中第6章,关于JS面向对象的解说,没有教程出其右。
  如果有一场满分100分的JS考试,看了《JavaScript DOM编程艺术》能让你拿到20分,那么看完这本书,你就能拿到60分以上了。学完后,你会成就感倍增的,相信我(至少看两遍,推荐三篇,跟着书上的代码一行行的敲)。
  这本书强烈推荐购买,写的太TMD牛逼了,给你带来的价值超过百倍千倍。
  这本书最新的是第三版,貌似就是前些日子出来的,我看的是第二版,第三版相对第二版变动不大,添加了几章内容,价格目前相差10元左右。
  接下来,恭喜你可以下山了,这个时候可以自己做一些事情了
你可以去Ferris这个教程看看他写的这些效果,看看源代码,怎么样,是不是觉得有一部分很简单了,尝试着跟着他写一写这些效果吧。
学技术闭门造车是行不通的,适当的加一两个QQ群交流(注重质量),常去论坛逛逛,你会经常有些小收获的。
再有就是看看前辈这些牛人前辈们分享的文章,它会让你的学习事半功倍的,这里是热心人收集的国内一些牛人的博客、个人网站,点这里。
  第三阶段:《JavaScript语言精粹》和《高性能JavaScript》
  接下来两本书《JavaScript语言精粹》和《高性能JavaScript》算是JS高级教程的补充,里面有一些内容和JS高级教程重复了,两本书可以同时看,都不厚,可以对前面所学的有一个很好的加强和巩固。
  第四阶段:《JavaScript DOM高级程序设计》和《JavaScript设计模式》
  在吃透了前面所说的书之后,接下来两本书的顺序已经无关紧要了,《JavaScript DOM高级程序设计》(注意和《JavaScript 高级程序设计》相区别)和《JavaScript设计模式》,这两本都是重量级的书,能让你的JS技术上一个新的台阶;这两本书前者主修炼外功,后者主修炼内功,有点想乾坤大挪移和九阳神功的关系。
  《JavaScript DOM高级程序设计》 首先教你搭建一个类似JQuery的额工具函数库,然后通过讲解几个实际中经常遇到的几个应用例子,会让初学者受益匪浅。
  《JavaScript设计模式》主要讲Javascript的设计模式,说实话,翻译的质量很一般,有些生硬,但已经基本不影响你的学习,看代码完全可以理解出自己的意思。
  这两本书出来一段时间了,可能买不着了,提供下载地址:
  《JavaScript DOM高级程序设计》下载地址,注意有三部分需要下载。
  《JavaScript设计模式》下载地址
  最后想说的
不安逸,不浮躁。任何学习都不是一蹴而就的,牛B就是一个学习积累的过程,别指望两三个月,你的水平就多么厉害。倚天屠龙记里面的武功最牛B的是张三丰,而不是张无忌。
任何工作都需要多种技能,别忽略了html, css等其他知识的学习。
第4个回答  2018-06-27
由于javascript在很多时候会和html、css联系紧密,所以建议亲学习javascript之前先学习一下html和css的相关知识。javascript中涉及到ajax的那一节的话懂后端编程,例如php的话会更顺利、更容易理解。
相似回答