简历上看你用过 jQuery 是吧?行,那你简单讲讲它的链式调用吧。

前言

面试是一个查漏补缺的过程,学习是一个学了又忘,忘了又学的过程。天上下雨地上滑,自己跌倒自己爬,简单记录一下自己的面试经历,希望大家勘误。

这是一场来得快也去得快的面试

:可能我懂得比较的浅薄,只能简单的说一下。我理解的链式调用就是当我们使用选择器选取了一个元素时,可以对这个元素进行一系列的操作。比如修改样式,添加事件等等。

面试大佬:那它这个链式调用是怎么实现的呢?

:懵逼了一会。想了想自己花了三个小时又是地铁,又是公交,跟去西天取经一样。最终只能说出了一句,"不好意思,这个我没有深入的去了解过。毕竟这是我毕业后的第一个项目,后期项目交付了,就没有再去学过 jquery 了"。

说完之后我就知道我该拎包走了。这三个小时的车程就当做是 "来也匆匆去也匆匆,恨不能成功吧"

虽然现在很少用 jQuery,但它还是很强大的

它是一个 js 框架,封装了很多 js 常用功能。相比于 dom 操作代码量少了很多。值得一提的是它的 链式调用,在我们对一个元素进行一系列操作时就会变得很方便。

它差不多长这个样子:

js 复制代码
$("#num-input").addClass("border").css("margin-left","10px").focus()

链式调用是一种很精辟 的语法技巧,它的精妙之处在于调用对象方法后返回对象本身,以满足后续的继续调用。专业一点说就是 管道风格的 DSL 链式代码,但是这种风格也只能在特定的情况下使用,如果方法需要返回特定的值,那这种方法就不适用了。

举个例子

js 复制代码
function Div(){
  this.className = "box";
  this.innerText = "hello";
}
div.prototype.getClass = function(){
  // ...进行操作
  return this
}
div.prototype.getInnerText = function(){
  // ...进行操作
  return this
}

const div = new Div();
div.getClass().getInnerText();

参考文章

相关推荐
旷世奇才李先生3 天前
jQuery EasyUI 安装使用教程
前端·jquery·easyui
保持学习ing14 天前
SpringBoot电脑商城项目--创建订单+统计业务方法耗时
java·spring boot·spring·springmvc·jquery
保持学习ing15 天前
SpringBoot电脑商城项目--显示勾选+确认订单页收货地址
java·前端·spring boot·后端·交互·jquery
SuperherRo15 天前
Web攻防-XSS跨站&浏览器UXSS&突变MXSS&Vue&React&Electron框架&JQuery库&写法和版本
vue.js·electron·jquery·react·xss·mxss·uxss
未来之窗软件服务17 天前
jquery 赋值时不触发change事件解决——仙盟创梦IDE
前端·javascript·jquery·仙盟创梦ide·东方仙盟
保持学习ing18 天前
SpringBoot电脑商城项目--新增收获地址
java·spring boot·后端·jquery·全栈
yt9483219 天前
jquery和CSS3圆形倒计时特效
前端·css3·jquery
旅行的橘子汽水21 天前
【FreeRTOS-信号量】
前端·javascript·jquery
Hilaku24 天前
为什么我不再追流行,而是重新研究了 jQuery
前端·javascript·jquery
QQ_hoverer1 个月前
前端使用 preview 插件预览docx文件
前端·javascript·layui·jquery