请会用js的哥们帮分析一下以下代码

发布于 2022-08-25 11:09:51 字数 495 浏览 21 评论 0

尤其是while 那里,整个方法是类似于jquery .each()的一种方法。其实我不大理解他这代码为啥不用each.

//Forward fast each
$.fn
    .fwdEach = (function () {
    var jq = jQuery([1]);
    return function (c) {
        var i = -1,
            el, len = this.length;
        try {
            while (++i < len && (el = jq[0] = this[i]) && c.call(jq, i, el) !== false);
        } catch (e) {
            delete jq[0];
            throw e;
        }
        delete jq[0];
        return this;
    };
}());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖兔^ω^ 2022-09-01 11:09:51

fwdEach会准备好对应element的jQuery object,作为this传递给回调函数。
因为jQuery object jq是重复利用的,性能会略好于在回调函数内调用var jq = $(this);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文