先来看下forEach的实现

// 8. return undefined
  };
}

基本用法:

arr.forEach(callback[, thisArg]),callback会接收到三个参数:currentValue、index、array
false;
});

// logs:

0: JavaScript
1: Java
2: CoffeeScript
3: TypeScript

 

使用some函数

;
});

// logs:

0: JavaScript
1: Java
2: CoffeeScript

 

使用every函数

) > -1;
});

// logs:

0: JavaScript
1: Java

使用fo..of

break;
  }
}
// logs:
0
1
2
3
4
5

 

而如果forEach想实现类似every、some函数的效果该如何做呢?

在stackoverflow上得票比较高的有如下几类方法 :

1、循环外使用try.. catch,当需要中断时throw 一个异常,然后catch进行捕获;

2、重写forEach(也是借鉴第一种方法);

throw e;
}
 
throw StopIteration;
  alert(val);
});

 

参考链接:

http://dean.edwards.name/weblog/2006/07/enum/

http://www.jsnoob.com/2013/11/26/how-to-break-the-foreach/

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of


相关文章: