>  Q&A  >  본문

技术 - javascript学习顺序:先系统学习jQuery再学习基本JavaScript是否会相对快捷?为什么?

个人情况:

半年前端学习积累:

问题背景:

想要利用暑假两个月的时间系统学习javascript,目的是熟练打好js基础。咨询老师,身边的同学之后,给出的建议是先从jQuery入手,熟练jQuery之后再学习原生js。但各大论坛给出的建议均是先从js入手。

自己的体验:

问题总结:

请教各位前辈,您学习js的顺序是怎样的?您觉得以我的个人情况,应该如何安排学习进度?

大家讲道理大家讲道理2749일 전1194

모든 응답(18)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-10 14:31:14

    首先我必须非常严肃地指出

    “原生”JS和DOM和浏览器半毛钱关系也没有

    我认为,搞清楚JS,jQuery,DOM三者的关系是至关重要的,搞清楚以后无论正着学倒着学跳着学都没问题

    • Javascript:最流行的原型式语言,弱类型,基于原型的面向对象,函数作为一等对象可传递可存储。是一门历史比较古老但一直在焕发第N春的语言。常见的运行时有:几乎所有浏览器/NodeJS/PhantomJS/CoughDB/MongoDB等
    • DOM:浏览器对HTML文档的抽象模型,以树形结构为基础,提供了各种属性、内容、插入移除、事件等方面的API。这些API以JS语言的形式暴露在浏览器的JS运行环境中
      - BOM:浏览器对浏览器自身的抽象模型,包括历史、当前位置、窗口、屏幕等的API,同样暴露在浏览器的JS运行环境中
    • jQuery:最流行的Javascript DOM/BOM操作类库,主要致力于消除了不同浏览器之前DOM和BOM的差异性,并提供了优雅的链式API、强大的选择器和便利的扩展结构。

    搞清楚jQuery只是DOM的封装,DOM作为网页的操作接口,只是暴露成JS语言的形式。直接学jQuery可以最快上手实际项目,避开jQ学裸DOM可以在比如移动开发等极端场景游刃有余,并且可以强化对jQuery的理解,避免一些坑。而JS本身是他们两者的基础。

    회신하다
    0
  • 黄舟

    黄舟2017-04-10 14:31:14

    结合我个人的经验,其实没什么好纠结的。如果你想在前端上精深,不可能不学好原生;而即使你已经很厉害了,在项目中使用jquery也能帮你省下大把时间。

    我建议结合你的环境来选择。比如,你接下来可能要做一个实际项目,那你最好从jquery入手,它能帮你解决很多兼容性问题,减少代码量,开发过程当中你有时间去学习一些同样重要但很少被人提及的东西:

    1. 版本管理
    2. 测试
    3. 开发与部署

    jquery用着用着就不够用了,你可能会需要插件,继而向插件社区寻求帮助,然后学会自己编写插件,这个时候普通的编程知识也不够用了,你需要了解闭包、继承。这个时候你可以带着问题去学习原生,然后回过头再看jquery。等到项目开发完,你也就不会再问这种问题了,哈哈。

    假如你时间充足以学习为主,不妨好好看一些原生的书,比如《JavaScript高级程序设计》之类。

    至于代码风格和组织代码,和你用原生还是jquery都没关系。jquery一样可以写的很漂亮,原生写得没人懂太容易了~~至于大型项目单页应用,一般都要依赖框架支撑了。

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-10 14:31:14

    编程不是科学,既没有绝对的真理,也没有完全靠谱的公理定律。
    编程更像文学或艺术创作,每个人都可以选择适合自己的工具创造出独有的画作。
    无论丰满的原生js还是苗条的jQuery,甚至纤细或者病态的coffeescript都只是工具,只要勤加练习,都能让自己用的很舒服。
    100年以后如果你的程序还在被人使用,她一定早已不是年轻时的模样。最后的版本和最初版本还有多少代码是一样的呢?虽然重构你程序的人早已把你骂成了狗,但世人记得的只是你的代码为这个世界添加的那一丝精彩和运行程序时所获得的快乐。

    个人认为学习还是循序渐进,先易后难。你觉得什么学得快就先学什么,真正做东西时,遇到的各种坑会逼迫你掌握各种工具。

    회신하다
    0
  • 黄舟

    黄舟2017-04-10 14:31:14

    这跟其他语言是一样的,如果没点内功,有些框架你看都看不懂。更别说用了。jquery吧还好说,ext等等如果没点js基础,你用不了,就是照猫画虎会了,稍微一出错误你就搞不了了。灵活不起来。我这只是拿用框架来举个例子。也是我个人感受。所以如果想成为很牛逼的前端 还是老老实实的先练好内功吧。如果说学习顺序的话,个人觉得js先有基础,然后学jquery,然后再研究jquery源码去提升js水平。理解其中的思想。没必要先非得把js搞得深的不能再深的水平,再去搞jquery。而且如果干研究js,你也只是研究js的一些原生api,你也研究不了多么高深,js大牛不是说会api会的多就叫大牛,思想才是王道,一些思想还是要从别人的优质代码、框架来提升。像个人意见不喜勿喷。

    회신하다
    0
  • PHPz

    PHPz2017-04-10 14:31:14

    原生JS,这个是基础,必须先学。

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:31:14

    我是小鸟

    其实我不认可这种学习路径

    我是先学习的js后学习的jQuery,工作中jQuery用的多一些

    但是涉及修改公司前台js框架时,发现很多内容都是源生js代码,毕竟速度快

    js学习之后上手jQuery很快,也比较容易猜测到某个jQuery方法的源生js实现方式

    我感觉先学习jQuery的话会产生消极情绪,比如“使用jQuery就行了,这个比js方便多了,学那劳什子干啥”

    总之js是基础吧,反过来学习总有种地动山摇的感觉

    회신하다
    0
  • 黄舟

    黄舟2017-04-10 14:31:14

    别傻了,jQuery充其量只是个工具,你不懂得原生的js,以后怎么学习其他的框架,怎么成为前端大神,除非你没有很高的追求

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:31:14

    我个人的顺序估计不值得推荐。自己走过的坑来说下建议吧

    jquery 的优缺点不多说。jquery用得做多的貌似就是web前端效果了。如果你只想做点炫酷的效果,知道jq,拼拼凑凑再google基本都能实现。这都是使用 jquery 层面上的事情。可是,你仅仅想这样么?

    论坛大牛说的不懂JS就读不懂jQuery代码。 我的理解并不是说看不懂jq如何使用,而是不懂js,很难理解jq为什么这么设计api接口。

    等你需要做稍微大点项目的时候,就会遇到比使用业务更棘手的问题,代码组织,API接口设计等等。

    回归正题,个人觉得,学习jq的使用仅仅是一个方面,学会js如何设计jq则是另外一个层面,这方面的教程也多。

    所以建议系统的学 js,可能没有拿jq直接上效果好玩。
    感觉自己 js 差不多了,就分析分析 jq 的源码
    学习的东西不一定以后就真的能用到,但是这个过程对于认知还是蛮重要的

    회신하다
    0
  • 阿神

    阿神2017-04-10 14:31:14

    我个人觉得,如果是学习的话还是不推荐jQuery了,ES5以后原生的JavaScript在很多函数方面已经可以媲美jQuery了。只能说jQuery现在属于落幕之滨吧..如果真要学习的话还是推荐AngularJS这种新生军。

    회신하다
    0
  • 阿神

    阿神2017-04-10 14:31:14

    剑宗与气宗,剑宗入门快,可以立刻看到效果,提升学习的信心,气宗基础好,可以达到很高的程度,殊途同归,各有优劣,看你自己的抉择。

    회신하다
    0
  • 취소회신하다