今天上班不是很忙,感觉自己写的代码没有规范性和复用性,仔细研究了大神写的代码。果然很多我都不是特别理解。看到大神写的对象最后一句都加了个return this; 本人写代码从来没写过,上网看了下原来是链式调用。下面我就详细的做一些比较,大家一起学习啊!
链式调用其实我们在用jquery代码写操作的时候经常应用,例如
$("#id").addClass('active').siblings().removeClass('active');
链式调用的原理
在对象上的方法最后 加上return this
把对象再返回回来,对象就继续调用方法了,所以就可以链式操作了。
demo如下:
var obj={};
obj.a=function(){
console.log("a")
return this
}
obj.b=function(){
console.log("n")
return this
}
obj.a().b();
也可以在构造函数里面调用
demo如下:
function Fun(){
var obj={};
obj.a=function(index){
......
return this
}
return obj
}
//调用
var demo=Fun();
$("#btn").click(function(){
demo.a(2);
})
这个代码就是实现链式操作的例子。原理还是很简单的。