参考了js实现链式操作,特此声明。
jQuery最经典的就是链式操作了,为什么能实现链式操作呢?原理就是每次操作后都返回this。而jQuery主要是对dom元素的操作,多数并不会返回其他值所以最后可以返回this继续进行下一步操作。链式操作其实就是使编程的流程更加清晰,包括同步以及异步操作。promise同样也是使用链式操作实现异步调用。
实现效果:
function People(){}; var person = new People(); //实现person.set(10).get()返回20
function People(){
}
People.prototype={
set:function(value){
this.value=value*2;
return this;
},
get:function(){
return this.value;
}
}
var person=new People();
console.log(person.set(10).get());//20
注:顾名思义我们其实总是在set里面操作数据而从get里拿到数据,所以链式操作的前一步总是要return this才能进行下一步链式调用。