在我们第一阶段完成HTML+CSS的学习之后,很多同学都会被第二阶段JS难倒——JS语法、JS数据类型、JS对象,Js给我们的印象总是那么的“复杂”,因为它相比html来说是动态的,是编程语言,更深奥一些。想要熟练掌握js难度很大,不过如果你把知识点梳理清楚,真正的理解并加以运用,你就可以掌握它。那么该如何才能学好JS?在这里给大家总结一些学习Js的经验,希望能对你们有所帮助。

Js给人那种感觉的原因多半是因为它如下的特点:

第一:本身知识很抽象、晦涩难懂,如:封装函数、内置对象、DOM。

第二:本身内容很多且杂,如各种库,绑定事件。

第三:混合多种编程思想。它里面不但牵涉面向过程编程思想,又有面向对象编程思想,同时,它的面向对象还和别的编程语言(如:C++,JAVA,PHP)不大一样。就好像又是新的一样,让你对曾经学的面向对象产生了怀疑…

那么,怎么才能在js领域内学的轻松一些呢?以我 亲身经历和老师的言传身教总结了一些js学习经验:

1.清楚js的定位

时刻都不能忘记,否则很容易犯不清楚js是什么的错误。不要学了很久就知道js是编程语言,就是写代码,而且特点就是乱七八糟就完了,那样是学不好js的。要时时抓住它的地位,确切的说是它在整个Web中的地位:它属于前端的核心,主要用来操控和重新调整DOM,通过修改DOM结构,从而来达到修改页面效果的目的。要用这个中心思想去指导后续的一切js的学习,并且形成条件反射。

2.清晰的学习路线

这个只能是自己慢慢摸索或过来人点拨。我的学习路线如下:

A:js基础部分,如:定义变量、函数、数组、字符串等的处理,内置函数、内置对象等;

B:js面向过程编程思想,封装出各个函数,试着用这些去做一些常见的小功能,如:99乘法表  、选项卡、自定义多选按钮、自定义播放器、3D相册,省市区三级联动,鼠标的动效;

C:js面向对象编程思想,所谓万物皆对象,试着去封装一些你自己的对象,提供出有意义的接口出来;

D:学了上述的内容,之后学常用的库,这里必须学jquery;//以后我们会了解到

3.自律坚持

写代码不要一时兴起,三分钟热度,看到别人用js做了一个炫酷的动态网页,你就大喊大叫的我也来我也来,殊不知别人背地里把基础打扎实了,才有这个成果,而你在三天打鱼两天晒网,写一个小项目就会发现自己忘记很多知识点,而垂头丧气。编程语言从来不是一下子就能学好的,都是时间的 积累,坚持练习,不断的完善自己的短处,所以说,自律坚持非常重要!!!

4.多练多写

学习js并不是跟着张宇老师,看着他敲代码,看着他说一些代码知识,说了很多注意事项,你当时可能听懂了,过了一段时间,当你写这个代码时,脑子:我会写! 手:??????就会十分尴尬,明明当时听懂了呀,可为什么........因为你没有形成深刻的记忆,学习js最好是多练习多写代码,做一些你感兴趣的小项目,实现你想要的功能,不会的去查资料,然后多练多写的同时,也要看看老师是怎么写代码的,思维也很重要。

5.从多角度去学习和领悟

充分调动你所学的东西,从多角度去做某一功能,锻炼自己的思维,能优化代码就尽量优化,避免冗杂,比如说:以前你是从面向过程角度做的,现在改为从面向对象的角度再来做,或者继续做成可以直接使用的插件,提供属性、方法等出来。争取让你做的这个功能逐渐能使用到实际项目中来。这样的好处:既综合应用了你的所学,又能有实际意义,两全其美。

6.注意培养自信心

此时的你,不适合一来就看很复杂很炫的网页效果的源代码,在没有任何基础的情况下直接学这些,会严重打击你的自信心,因此切记因小失大,注意写代码是循序渐进的,而不是一飞冲天。记住此时你是弱小的,你需要的是培养信心,而不是反过来,否则结局很可能是“三天打鱼两天晒网”,离学有所成也就遥遥无期了。

7.多写学习总结

这种总结不但包括源代码、显示效果截图,还应该很容易犯的错误和对应的解决方法以及最后一两句精简的结论性语句。对自己写的总结不是写完了就了事了,要多回顾、多改进、多精简。到做项目的时候,应该是看里面的一两句话就知道是讲什么了,而不要再去看长篇大论了。

8.构建专属知识导图

这个可以让你越学越清晰,你可以按你喜欢的任何形式去做,只要自己印象深刻就行。

注意:知识导图也应该是经常修改、修正,让它更合理、更清晰。

总结的js的知识导图,能够认真看完就是一次对 JavaScript 的回顾与提升,可以很好的检验基础。

俗话说,三分天注定,七分靠打拼,爱拼才会赢,那么加油吧!

点击这里→了解更多精彩内容

如何去学好JS的8条小建议相关推荐

  1. 时间总是不够用?关于时间管理的18条小建议

    时间总是不够用?关于时间管理的18条小建议 电梯直达 楼主   发表于 8 小时前  | 只看该作者  | 倒序浏览 <iframe id="cproIframe11369753889 ...

  2. firefox如何载入json文件_如何去解决JS跨域问题 怎么能学好Web前端开发

    如何去解决JS跨域问题?怎么能学好Web前端开发?JavaScript跨域是指通过JS在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过JS获取页面中不同域的框架中(if ...

  3. 如何学好JavaScript的小建议

    在我们第一阶段完成HTML+CSS的学习之后,很多同学都会被第二阶段JS难倒--JS语法.JS数据类型.JS对象,Js给我们的印象总是那么的"复杂",因为它相比html来说是动态的 ...

  4. JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)

    From:https://segmentfault.com/a/1190000014770145 原文请查阅这里,略有删减. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScrip ...

  5. JavaScript 工作原理之二-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)

    原文请查阅这里,略有删减. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScript 工作原理的第二章. 本章将会深入谷歌 V8 引擎的内部结构.我们也会为如何书写更好的 Java ...

  6. 前端面试题总结(js、html、小程序、React、算法、vue 、全栈热门视频资源)

    写在前面 详细文档和答案请去看云平台查看购买一次购买终身免费长期更新(欢迎大家多题宝贵意见) 文档描述 本文是关注微信小程序的开发和面试问题, 由基础到困难循序渐进, 适合面试和开发小程序. 并有热点 ...

  7. 一条大蟒蛇和一条小毒蛇

    <script type="text/javascript"> </script> <script src="http://pagead2. ...

  8. 前端(js/css/html)那些小的知识点,持续更新......

    前端(js/css/html)那些小的知识点,持续更新...... 1.行内元素与块级元素有哪些及区别? 块级元素和行内元素的区别是,块级元素会占一行显示,而行内元素可以在一行并排显示.通过样式控制, ...

  9. 有效沟通bic法则_学好英语的18条黄金法则,强烈推荐给孩子看

    英语学习虽然需要日复一日的坚持,但也有规律可循.今天,小编总结了大神们英语学习的18个黄金法则,分享给大家!只要对它们理解并加以运用,相信征服英语将不再是难题! 黄金法则第1条 What is lan ...

最新文章

  1. python语法大全-python语法大全,python语法手册
  2. 阿里云ecs实例中创建数据库
  3. IP SLA的路径控制
  4. 如何用Pygame写游戏(十一)
  5. dpkg: error processing package oracle-java8-installer (--configure):
  6. 盘点实际项目应用中的最佳机器学习模型
  7. 《剑指offer》——基础数据结构:从简单知识构建细致扎实的思考和实现能力...
  8. 2-7 hash(2)
  9. 干线公路交叉口右转车辆与非机动车冲突精细化治理实例
  10. DID去中心化身份认证技术调研
  11. 较全的正则字符、规则汇总
  12. 搜索引擎广告和信息流广告有什么区别?
  13. win7 计算机无法搜索,Win7电脑搜索功能不能用的解决方法
  14. 为什么看不到局域网其他计算机名,windows10系统局域网看不到计算机名怎么办
  15. How to clone a brach from github
  16. 存储知识 -- 什么是LUN?LUN有什么用?对理解存储设备很有好处
  17. android指纹解锁分析,浅析4种手机指纹解锁方式的优劣势
  18. 正交函数集与信号在正交函数集上的分解
  19. 周四直播 | 微软亚洲研究院副院长刘铁岩:机器学习技术前沿与未来展望
  20. php layer弹出层更改背景,layer更改皮肤的实现方法

热门文章

  1. CSS IE6躲猫猫Bug
  2. 求H21时的仿射变换要参考当前坐标系
  3. NORDIC 52832开发2之串口空闲时间过长
  4. linux crypto cbc 接口,Linux 2.6.38.4: User-space interface for Crypto API
  5. linux对于文本的操作,Linux文本文件操作
  6. Android编译自定义sdk,java – 使用自定义android.bluetooth.而不是在android studio中默认的sdk android.jar中存在一个...
  7. c# 多线程单例模式_单例模式,多线程单例,双重锁定单例,工场单例创建上下文...
  8. php(2)—基础补充
  9. 通过SectionIndexer实现微信通讯录
  10. 谈谈Objective-C的警告 (转)