过时的 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 的原理学不学也没啥大问题。

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

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了