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循环快.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...