在闭包内中断for循环
Break for loop inside closure
for (var e = 0; e < markers.length; e += 1) {
(function (e, markers, latLngBounds) {
if (latLngBounds.contains(markers[e])) {
updatePrompt("Marker is contained");
// Break for loop
}
})();
}
在上面的例子中,在调用updatePrompt
方法之后,我如何跳出包含闭包的循环?
var broken = false;
for (var e = 0; e < markers.length; e += 1) {
if (broken) {
break;
} else {
(function (e, markers, latLngBounds) {
if (latLngBounds.contains(markers[e])) {
updatePrompt("Marker is contained");
broken = true;
}
})();
}
}
有点啰嗦,但你明白了。
这也可以在现代浏览器的Array.some
中完成
markers.some(function(marker) {
if (latLngBounds.contains(marker)) {
updatePrompt("Marker is contained");
return true;
}
return false;
});
不确定是否正确,但如果你想打破循环集e = markers.length;
循环不会在此语句之后继续
另一种说法:
for (var e = 0; e < markers.length; e += 1) {
if ((function (e, markers, latLngBounds) {
if (latLngBounds.contains(markers[e])) {
updatePrompt("Marker is contained");
return 1;
}
return 0;
})())
break;
}
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- 双“for”循环(循环)
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- Javascript在for循环中等待处理请求
- For循环在Jquery中只运行一次
- 如何在for循环中使用计数器
- for循环中的JavaScript闭包
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- For循环在调用时未运行
- 如何使用for循环添加所有按钮'单击事件
- 如何更改在for循环中生成的圆的位置
- 为什么这个For循环会使浏览器实验室崩溃
- 为什么我使用javascript获得了一个无限的for循环
- 在for循环中使用多维数组设置google.maps.Marker图标
- 如何在angularJS中运行for循环而不使用html标记