前端程序员面试必备:说说jQuery是什么?能做什么?

一提到 jQuery 就会立即让人想起过去具有挑战性的项目。
说实话:jQuery 是当时前端开发的产物,几乎已经成为我们这个时代开发者的必修课。

首先我们来说一下jQuery的核心定义。
这实际上是对原生JavaScript的封装和增强。
当我第一次接触 jQuery 时,我意识到只需几行 jQuery 就可以完成复杂的 DOM 操作和事件处理。
类似于在原生 JavaScript 中获取 ID 为“header”的元素,您必须编写 document.getElementById('header'),但在 jQuery 中您可以直接使用 $("header") 获取它。

我们来谈谈 jQuery 的好处。
实在是多得数不过来。
例如,它是轻量级的、跨浏览器兼容的、压缩后的大小仅为 3 2 KB,并且速度极快。
我记得曾经做过一个项目,使用jQuery来使其在不同浏览器中流畅运行。
当时没有那么多复杂的兼容性问题,jQuery 帮了很大忙。

然后是它的核心功能。
这简直太强大了。
例如,jQuery 的选择器对于快速检索和操作 DOM 元素非常有用。
以前使用原生 JavaScript 编写复杂的 DOM 操作需要数十行代码,但使用 jQuery 现在只需几行即可完成。
另一个例子是为丰富的页面提供动态效果,例如淡入和淡出动画效果。
以前您必须手动编写 CSS 和 JavaScript,现在您可以直接使用 jQuery 的内置方法。

必须讨论限制。
随着 React 和 Vue 等框架的兴起,jQuery 的 DOM 操作优势已经被基于组件的开发所取代,在新项目中越来越少使用。
记得当时很多项目都是基于jQuery的,但是随着时间的推移,很多公司开始使用性能和开发效率都更好的最新框架。

总的来说,jQuery在过去十年确实推动了前端开发的发展。
虽然它可能不像以前那么流行,但它的核心语法和设计思想是理解前端开发历史演变的重要基础。
当我回想起我使用 jQuery 的时候,我仍然有一种成就感。

Web前端开发技能树分享——你需要学到什么?

说白了,想要成为一名合格的前端工程师并找到工作,关键因素有这些:扎实的基础、写代码的能力、会使用的工具、以及一定的项目经验。

我们先来谈谈最重要的基础知识。
不要只记住 HTML 标签。
去年,当我们推进该项目时,新人甚至无法区分
,他们的 SEO 分数直线下降。
CSS 也是如此。
不要拘泥于盒子模型。
Flexbox+Grid 现在是主流。
我们改造了一个金融APP,完全使用Grid进行布局,效率提升了至少4 0%。
还有一个细节非常重要。
响应式设计不应严格应用于媒体查询。
去年,在面试一家大公司时,面试官被直接要求编写一个不依赖于查询的响应式登录页面。
说实话,当时很混乱。

还有一点就是JS必须是异步的。
去年项目线上出现了一个错误。
后端界面慢了5 00ms,整个前端卡在PPT里。
后来我发现有些不对劲。
结果发现 Promise.all 拼写错误。
ES6 模块化现在也可用。
我们所有的新项目都使用 TypeScript,并且所有接口类型都有文档记录,将在线错误报告减少了一半。

还有一个非常关键的细节:Git分支管理是否顺畅。
去年我们接手了一个分支比明星还多的混乱项目。
我们直接使用 rebase --onto 来合并 3 个月的历史,几乎没有受到指责。
建议新人先练习rebase和cherry-pick。

一开始我以为jQuery已经过时了,后来发现不对。
一些旧系统仍在使用它,所以我只是删除了该插件,然后它就崩溃了。
与当地人交往时必须小心。
我们遇到了一些陷阱,比如混合$.ajax和fetch直接报跨域错误。

最后,提醒一下一个简单的陷阱。
不要仅仅依赖 Console.log 进行调试。
学习使用Chrome的网络面板来分析性能瓶颈。
去年,在一个 H5 活动页面上,延迟加载脚本降低了主屏幕的速度。
改了之后,速度提升了一倍。

总之,如果你基础扎实,懂得如何编写、改编和实践多个项目,你会更快地学习后续框架。
但说实话,这相当复杂。
现在前端要求越来越高,要不断学习。

想学前端,该怎么入门

说白了,学习前端只有三个步骤:搭框架、实现框架、找资源。

首先构建框架。
0基本上不要乱逛,像知略堂一样跟着路线图走。
扎实的 HTML/CSS 知识,以及一些基本的 JS 知识。
当你听到新技术时不要疯狂,先了解基础知识。

这样做是关键。
先用HTML+CSS模仿一个电商网站,学完JS之后再制作一个小贪吃蛇游戏。
不要只是看和做。
如果你的手动不了,脑子动不了,那就别做。

寻找资源非常重要。
MDN 是上帝,StackOverflow 可以拯救你。
找高手教你,或者加入社交群聊天,问题解决会快很多。
每天花2 个小时做JS题,就简单的LeetCode题。

就这么做吧。
学习3 个月就可以上手了,你会学到下面的框架。