jQuery组件封装之return this.each(function () {});
程序员文章站
2022-04-14 21:43:12
记录一下自己的调试历程 组件封装经常看到这么一段代码 为什么要return为什么要each? 自己调试了一番 发现若没有return,打印$(".div").easySlider({}) 因为这个方法没有返回值所以是undefined 经过return返回,打印$(".div").easySlide ......
记录一下自己的调试历程
组件封装经常看到这么一段代码
$.fn.plugin = function (options) {
return this.each(function (i,t) {
new fun(this, options)
});
}
//组件调用
$(".div").plugin({
str: ""
})
.css({
"border": "1px dotted red"
})
.addclass('aaa');
为什么要return为什么要each?
自己调试了一番
发现若没有return,打印$(".div").easyslider({}) 因为这个方法没有返回值所以是undefined
经过return返回,打印$(".div").easyslider({}) 返回当前对象
若为undefined自然就不能够进行.css()或.addclass等方法调用了
这时候可能又纳闷了,直接return this 不就ok了么?
例如:
$.fn.easyslider = function (options) {
new showlink(this, options)
return this;
}
这个时候就要说each了,