jquery的链式调用是怎么实现的?
参考答案:
我们都知道 jQuery 可以链式调用,比如:
js
$("div").eq(0).css("width", "200px").show();链式调用的核心就在于调用完的方法将自身实例返回。
实现一个简单的链式调用
js
// 定义一个对象
class listFunc {
// 初始化
constructor(val) {
this.arr = [...val];
return this;
}
// 打印这个数组
get() {
console.log(this.arr);
return this;
}
// 向数组尾部添加数据
push(val) {
console.log(this.arr);
this.arr.push(val);
return this;
}
// 删除尾部数据
pop() {
console.log(this.arr);
this.arr.pop();
return this;
}
}
const list = new listFunc([1, 2, 3]);
list.get().pop().push('ldq')题目要点:
jQuery的链式调用之所以能够实现,主要是因为它的每个方法在执行完自己的任务后,都会返回调用该方法的jQuery对象本身(即return this;)。这样,你就可以在这个返回的对象上继续调用其他方法,从而实现链式调用。
简而言之,链式调用的秘诀在于:每个方法都返回this。