阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      过时的 jQuery 还有必要学么?怎么学?

      前言

      有几次小伙伴私聊问我 jQuery 现在企业用的多吗,还有必要学习吗?

      感觉这个问题还是专门拿出来讲下比较好;

      一般问这类问题的人,基本都是刚刚接触前端没多久的人;

      所以我这一期面向的人群是刚接触前端的技术小白。

      我说的学 jQuery,当然不仅仅是学习 jQuery 的使用,如果单纯是 jQuery 框架的使用,我觉得基础再差的人,有 1 周的时间,基本就能写项目了。

      第一:jQuery 过时了吗?

      jQuery 确实过时了,现在主流的方式是 React 和 Vue 两个框架(注意:不是 3 大框架,Angular 在国内基本算凉了)。

      jQuery 在新产品 / 新项目中的市场份额越来越少了。

      因为互联网产品的快速迭代,很多 jQuery 做的项目基本算凉了;

      新项目又以 React 和 vue 为主流;

      目前 jQuery 的场景是:老项目本身渐渐死去,新项目中做冷板凳,还是很尴尬的。

      第二:jQuery 还有应用场景吗?

      目前 jQuery 的虽然越来越少了,但是它的应用场景还是不可替代的;

      • 官网类的网站
        • 这类网站一般是离不开 jQuery 的,有很多足够多的模块可以直接使用;
        • 比如聊天模块,导航模块,等成熟模块
        • 哈有一些高大上的效果,3D 立体旋转,各种牛 X 幻灯片,各种爆炸效果,都有代码可以直接拿来使用;
      • 对性能要求比较高的网站
        • 像我的阿西河网站,主要页面都是 JavaScript 写,连 jQuery 都不用,为了就是极致的性能。
        • 但是像 JS 面试题,VUE 面试题,HTML,CSS 面试题页面,那些区块为了自适应,就上 jQuery 了,因为有现成的优秀解决方案
        • 但是大型网站,像京东,网易新闻,腾讯新闻,这些对性能要求更高的网站,少
      • 对 SEO 要求较高的网站
        • 比如一些行业信息的站,新闻站等

      从工作的角度:jQuery 有必要学么?

      如果单纯从工作角度来说,了解即可,甚至用的时候再看不晚的。

      我觉得学 jQuery,看文档,然后跟着做几个例子,了解常见的方法以及怎么使用就足够了。

      除非是存活很久的老项目,像淘宝网,京东,网易新闻,腾讯新闻,等等这类老项目,否则中小型公司的新产品一般用到的是不多的。

      从学习的角度:jQuery 有必要学么?

      有必要学,而且是要源码级别的学习。

      前端的路想走的很远,JavaScript 必须要能玩的转,而 Vue/React/jQuery 都是 JavaScript 的一种实现。

      虽然工作中直接使用 JavaScript 的场景不多,基本都是 Vue,React,jQuery 写写就好;

      但是 JavaScript 还是推荐必须学,而 JavaScript 你要想学习的精,难道仅仅只是他的文档背的熟悉吗?

      显然不是的!!!

      我们对 JavaScript 的本身知识了解以外,它的表现形式,用法技巧,用来解决工作中问题的使用思路就尤为重要!!!

      如果你要学深入一门语言,那么最好的办法就是通过造轮子,通过写真正解决实际问题的框架 / 模块 / 组件 / 轮子来实现;

      如果你从这方面想,你就发现,JavaScript 是必须学的,而 jQuery,Vue/React 的封装思路更是必须学的;

      工作中使用框架的背后思考

      一名合格的程序员,必须思考一个现实问题:同样2个员工在公司里使用Vue干活,为什么一位拿的工资高,一位拿的工资少?

      举个例子,在一家 965 的公司里,一位高级前端开发可以拿 25K 的工资,一位中高级的前端开发拿 15K;

      现在 Vue,React,等等框架都很多,文档也很全面。有基础的开发者,有个半个月就能学会使用了。

      但是为什么一个拿 25K,一个拿 15K,甚至有的拿 10K?

      这并不是纯粹 25K 的比 15K 的 Vue 用的熟悉,15K 的比 10K 的用的熟悉,而是因为他们使用框架之外的东西多。

      其中项目经验,框架原理都是拉开工资的很大因素。

      你可以问问自己,如果提高框架原理,那么不仅仅是学习 jQuery 的原理,Vue,React,还有一些常用的 npm 包,都可以看看其中原理。

      你要有一定的代码封装能力。

      对学习 JavaScript 的帮助

      JavaScript 如果如果想学习的深入,除了掌握他的用法,原理以外,封装组件,造轮子是必经之路。

      如果让新手直接研究 Vue / React ,难度还是比较大的,jQuery 是一个很不错的切入点,jQuery 有很多经典的编程思想。

      如果你是要学习 JavaScript, 我建议除了掌握基础知识外,写轮子,学习代码封装是非常有必要的,我认为 jQuery 是强烈推荐你学习的。

      如何基于 jQuery 学习 JavaScript

      如果你要学习 jQuery,我推荐你参考 jQuery 封装一些库,这会让你对 JS 的使用和理解更加的深入。

      1. 了解 jQuery

      如果要学习jQuery源码,我觉得你首先必须要会用,推荐可以看看本站的 jQuery 教程来简单的了解一下;

      知道 jQuery 的常见用法,以及一些常见的 API;

      然后我们就

      推荐封装的一些库

      AJAX

      • jQuery.ajax();
      • jQuery.get();
      • jQuery.post();

      属性操作

      • .addClass
      • .removeClass
      • .hasClass
      • .toggleClass
      • .attr
      • .removeAttr
      • .prop

      Css 操作

      DOM 本身

      • .css
      • .width
      • .height
      • .innerWidth
      • .outerWidth
      • .innerHeight
      • .outerHeight

      DOM 位置

      • .position
      • .offset
      • .offsetParent
      • .scrollLeft
      • .scrollTop

      DOM 操作

      • .before()
      • .after()
      • .append()
      • .appendTo()
      • .prepend()
      • .prependTo()
      • .clone()
      • .empty()
      • .wrap()
      • .text()
      • .val

      动画

      • animate
      • stop
      • fadeIn
      • fadeOut
      • hide
      • show
      • toggle
      • slideUp
      • slideDown
      • slideToggle

      事件

      • on
      • off
      • bind
      • unbind
      • ready
      • trigger
      • click
      • hover
      • keyup

      jquery 选择器

      • #id
      • .class
      • :has
      • :button
      • [name='value']

      Util 方法

      • data
      • extend
      • isArray
      • merge
      • trim

      以及重要的 jquery 核心 jQuery()的实现

      简历的影响

      很多新人的简历项目里都一样的,美团外卖,饿了么,某某商城,王者荣耀官网,QQ 音乐,网易音乐。

      换位思考一下,如果你是面试官,你会怎么看待简历里写这种项目的应聘者??

      说句不好听的,纯粹是练手的,这些项目有啥鸟用?

      你没有经历过真实的场景,做的无非就是模仿个外表和表皮罢了;

      如果你按照我说的,基于 JavaScript 仿些 jQuery 有的方法,比如做事件库,DOM 库,CSS 库,动画库,AJAX 库,工具库。

      这些封装经验绝对是你比你放什么王者荣耀官网,美团外卖,饿了么,QQ 音乐之类的项目更吸引面试官。

      jQuery 抛砖引玉出 Vue 和 React

      jQuery 只是一个抛砖引玉,既然可以仿 jQuery 的重要概念和方法。

      那能不能仿 Vue,能不能仿 React???当然都是可以的,你如果有心,你完全也去仿些 vue 和 react 的重要概念和方法。

      比如用 JavaScript 实现生命周期,数据响应式等等。

      这样的话,你就不仅仅是会用 Vue 和 React 了,因为你实现过,所以原理层面了解的更多些。

      关于面试

      插一句题外话:去面试的时候,你并不是一定要多么多么牛 X,只需要让自己在所有面试者里更突出就够了,企业招聘也不会一定要找完全符合自己需求的人,而是在一段时间内,从一群人找最适合自己团队的人。

      如果你去面试前端开发岗位,你列出我刚才说的那些你造轮子的项目,我觉得是比大多数面试者都好的经历。

      而且这些过程,封轮子的经历,你完全可以博客记录下来,Github 上开一个仓库记录下来,然后你写在简历上,绝对都是很大的亮点。

      最终总结

      如果是从学习 JavaScript 的角度来说,或者从面试的角度来说;

      jQuery 和 Vue 或 React,是必须学的,而且是源码级别的学习,

      培训班可能因为课时,讲师精力,开班进度等等不教你深入了解原理,或者只分几个工作日就带一下就行了;

      但是对个人来说,我觉得是必须研究透彻的;

      如果你的时间不够,我建议你完全可以只研究一小部分的原理,这样面试的时候也可以聊聊,也能让自己更突出一些。

      当然了,如果是仅仅从公司做项目来说,jquery 学不学无所谓,包括 VUE/react 的原理学不学也没啥大问题。

      但是只要你以后去参加面试,我建议你还是必学的!!

      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录