微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript for-loop替代方法:repeat(n,function(i){…});

这是常规for循环:
for (var i = 0; i < n; i++) { ... }

它用于迭代数组,但也只是重复一些进程n次.

我使用上面提到的形式,但它击退了我.标头var i = 0;我< N;我很丑陋,每次使用时都必须按字面意思重写. 我正在写这个问题,因为我提出了一个替代方案:

repeat(n,function(i) { ... });

这里我们使用带有两个参数的repeat函数
1.迭代次数,
2.一个身体代表正在重复的过程的功能.

代码隐藏”就像这样:

function repeat(n,f) {
    for (var i = 0; i < n; i++) {
        f(i);
    }
}

(我知道在流程的范围链中有两个额外的“级别”的性能影响)

顺便说一句,对于那些使用jQuery库的人来说,上面提到的功能可以通过$.each方法实现,如下所示:

$.each(Array(n),function(i) { ... });

所以你怎么看?这个重复函数是native for循环的有效替代吗?这个替代方案的缺点是什么(性能除外 – 我知道这个)?

本机:

for (var i = 0; i < 10; i++) {
    // do stuff
}

替代方案:

repeat(10,function(i) {
    // do stuff
});

解决方法

这是一个有趣的想法,但如果你不喜欢循环的语法,你总是可以做一个不同类型的循环:
var i = arr.length; 
while (i--) {
    // do stuff
}

反向while循环通常也比for循环快.

原文地址:https://www.jb51.cc/js/155734.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐