繁体   English   中英

如果没有收集,jQuery可以替代经典的for循环

[英]JQuery alternative to classic for-loop if not collection

如果我要遍历不是集合的内容,可以在JavaScript中使用for循环。 因此,要提醒第0-9天:

var days = 10;
for(var i = 0; i < days; i++)
   alert(i);

但是JQuery进行这样的for循环的方式是什么(假设我不能使用$ each,因为它不是一个集合)?

不好,但是... $。每种方式:

var days = 10;
$.each(new Array(days), function(i, _) {
    alert(i);
});

关键字方式:

(function(iter) {
    for (var i = 0; i < days; ++i) {
        iter(i);
    }
})(function(i) {
    alert(i);
});

自定义jQuery插件$ .loop方式:

;(function($) {
    $.loop = function(num, iter) {
        for (var i = 0; i < num; ++i) {
            iter(i);
        }
    };
})(jQuery);

$ .loop在您的情况下的用法:

var days = 10;
$.loop(days, function(i) {
    alert(i);
});

性能测试表明$ .each比其他的慢,但是对于解决99%的问题都没有关系。

在您的情况下,单行方式是:

$.loop(days, alert);

要么:

$.each(new Array(days), alert);

jQuery.each效果很好

$.each([ 52, 97 ], function( index, value ) {
    alert( index + ": " + value );
});

但说实话,对于您似乎要问的问题,香草JavaScript更好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM