jQuery插件开发:return this.each()是什么意思?

我找到书面的解释是,通过返回当前对象,来维护链式调用。

但是我的问题是,直接return this不可以吗?
直接return this返回的不也是jQuery选择器获取的jQuery对象吗?
为什么后面要加上each()呢?

因为each返回的也是this对象,所以直接return this.each可以执行你的相关操作,还可以保持链式调用功能

你看这个each调用的是什么方法,,应该是遍历

因为this.each保证了遍历完成才执行下一个操作,否则迭代是延迟执行的,前面的插件并没有实际执行。

我感觉 return this.each(),就相当于 this.each();return this; 那么写只是简写为了方便

使用each的作用在于执行each可以带function参数,循环执行你要执行的操作。
如果单从链式角度和返回值出发,返回this和this.each返回的是一致的。

 return this.each(function() {
            $(this).append(' - ' + $(this).data('x'));
        });
                等价于
             var objs = this;
        for (var i=0; i<objs.length; i++) {
            var obj = objs[i];
            $(obj).append(' - ' + $(obj).data('x'));
        };
        return this;