摘要:如何才能学好JS?在这里给大家总结一些学习Js的经验,希望能对你们有所帮助。

在我们第一阶段完成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. iOS中书写代码规范35条小建议

    1.精简代码, 返回最后一句的值,这个方法有一个优点,所有的变量都在代码块中,也就是只在代码块的区域中有效,这意味着可以减少对其他作用域的命名污染.但缺点是可读性比较差 NSURL *url = ({ ...

  2. How Javascript works (Javascript工作原理) (二) 引擎,运行时,如何在 V8 引擎中书写最优代码的 5 条小技巧

    个人总结: 一个Javascript引擎由一个标准解释程序,或者即时编译器来实现. 解释器(Interpreter): 解释一行,执行一行. 编译器(Compiler): 全部编译成机器码,统一执行. ...

  3. How Javascript works (Javascript工作原理) (十四) 解析,语法抽象树及最小化解析时间的 5 条小技巧

    个人总结:读完这篇文章需要15分钟,文章介绍了抽象语法树与js引擎解析这些语法树的过程,提到了懒解析——即转换为AST的过程中不直接进入函数体解析,当这个函数体需要执行的时候才进行相应转换.(因为有的 ...

  4. App适配iPhone 6/ Plus和iOS 8:10条小秘诀

    App适配iPhone 6/ Plus和iOS 8:10条小秘诀   iPhone 6iOS 8适配   (原文:raywenderlich 作者:Jack Wu 译者:@TurtleFromMars ...

  5. js 实现分割条

    js 实现 切分条效果, 为了熟悉js  写法,纯javascript 脚本编写 简单介绍几个函数: setCapture()函数的作用就是将后续的mouse事件都发送给这个对象, releaseCa ...

  6. 移动端无法复制:使用clipboard.js碰到的一个小问题

    移动端无法复制:使用clipboard.js碰到的一个小问题   直接看下面的代码:在移动端访问,点击,能正常复制. <html> <head> <meta http-e ...

  7. Android开发的16条小经验总结

    Android开发的16条小经验总结,希望对各位搞Android开发的朋友有所帮助. 1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以 ...

  8. JavaScript初学者福利!必须收藏的24条小技巧

    JavaScript初学者福利!必须收藏的24条小技巧 前端小编 发布于 2013-12-15 22:52 查看数: 2343 评论数: 6 帖子模式 这篇文章将回顾JavaScript的知识 !如果 ...

  9. 原生JS实现的h5小游戏-植物大战僵尸

    代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结 ...

  10. 前端与编译原理 用js去运行js代码 js2run

    # 前端与编译原理 用js去运行js代码 js2run 前端与编译原理似乎相隔甚远,各种热门的框架都学不过来,那能顾及到这么多底层呢,前端开发者们似乎对编译原理的影响仅仅是"抽象语法树&qu ...

随机推荐

  1. 由mysql转为oracle注意事项

    1. text类型->nclob 2. 表名是关键字   引号 3. 字段名是关键字 引号 4. 日期型和mysql不同,hh24:mi:ss  就是HH:mm:ss,库里存日期型也可以(查询时 ...

  2. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇

    1.简介 前边宏哥拖拽有提到那个反爬虫机制,加了各种参数,以及加载js脚本文件还是有问题,偶尔宏哥好像发现了解决问题的办法,看到了黎明的曙光,宏哥就说试一下看看行不行,万一实现了.结果宏哥试了结果真的 ...

  3. 虹科案例 | 丝芙兰xDomo:全球美妆巨头商业智能新玩法

    全球美妆行业的佼佼者丝芙兰,其走向成功绝非仅依靠品牌知名度和营销手段.身为数据驱动型企业,2018年以来,丝芙兰就率先在行业内采用虹科提供的Domo商业智能进行数据分析和决策,并首先享受了运营优化.效 ...

  4. 带着问题去分析:Spring Bean 生命周期

    1: Bean在Spring容器中是如何存储和定义的 Bean在Spring中的定义是_org.springframework.beans.factory.config.BeanDefinition_ ...

  5. 立方骑士(lgP7354)

    来水篇题解((( 图炸了,去洛谷博客看吧. 注:在本篇题解中, \(K\) 表示国王, \(N\) 表示骑士,不同颜色的 \(X\) 表示该位置国王可以达到,且被与之相同颜色的骑士封锁.方法不唯一,图 ...

  6. 实用的命令行终端增强软件:Tabby

    还是那句话:出众的软件有很多,适合自己的才是最好的. 一.软件介绍 Tabby是一个开源免费软件,支持Windows.macOS和Linux系统.它提供了一个高度可定制的终端界面,可以通过多种方式添加 ...

  7. QT中级(2)QTableView自定义委托(二)实现QProgressBar委托

    同系列文章 QT中级(1)QTableView自定义委托(一)实现QSpinBox.QDoubleSpinBox委托 QT中级(2)QTableView自定义委托(二)实现QProgressBar委托 ...

  8. ics-06

    打开题目界面有点科技感,然后找到报表中心的位置 url地方出现了一个奇怪的id,试了下sql注入但是没报错,判断应该不是sql注入,然后就坐牢了 看了wp得在id的地方进行爆破 爆破了1-2500可以 ...

  9. Android 使用 ContentProvider 简单操作数据库

    ContentProvider 可以用来原生读写 Android 自带的数据库 SQLite. 使用 Studio 创建一个 ContentProvider, 名字叫 TestContentProvi ...

  10. 工厂模式(Factory Method)

    模式定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method使得一个类的实例化延迟(目的:解耦)到子类. 要点总结 Factory Method模式用于隔离类对象的使用 ...