Javascript 如何从for循环中退出(转义)函数?
理解嵌套循环或其他控件和函数可以应用多少转义(返回或退出)是一个理论问题 我对此感到困惑,因为我被困在代码中 我无法停止在Javascript 如何从for循环中退出(转义)函数?,javascript,for-loop,foreach,Javascript,For Loop,Foreach,理解嵌套循环或其他控件和函数可以应用多少转义(返回或退出)是一个理论问题 我对此感到困惑,因为我被困在代码中 我无法停止在select元素中迭代选项s 我已经尝试了return和returnfalse,但是没有成功 一般来说,我们如何做到这一点 function() { for (...) { if (...) { $(...).each(function() { // You have to exit outer
select
元素中迭代选项
s
我已经尝试了return
和returnfalse
,但是没有成功
一般来说,我们如何做到这一点
function() {
for (...) {
if (...) {
$(...).each(function() {
// You have to exit outer function from here
});
}
}
}
就像大多数语言一样。退出循环的关键字是
break代码>
更多信息请点击此处:
我会这样做:
- 创建一个布尔变量来检查每个循环,如果该变量为true,则退出循环(对每个循环执行此操作)
注意这不是正确使用try-catch
,因为try-catch
应该严格用于错误处理,而不是跳转到代码的不同部分-但它对您所做的工作有效
如果return
不适合您,请尝试使用try catch
try{
$(sentences).each(function() {
var s = this;
alert(s);
$(words).each(function(i) {
if (s.indexOf(this) > -1)
{
alert('found ' + this);
throw "Exit Error";
}
});
});
}
catch (e)
{
alert(e)
}
取自的代码在循环之间使用共享变量。如果要退出,请在each()
循环结束时将其翻转到true
,并在for循环结束时检查其是否为true
。如果是,则中断循环。也可以通过更改迭代器值退出循环
var arr = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0;i<arr.length;i++){
console.log(i);
compute(i);
function compute(num){
//break is illegal here
//return ends only compute function
if(num>=3) i=arr.length;
}
}
var-arr=[1,2,3,4,5,6,7,8,9,10];
对于(变量i=0;i=3)i=arr.length;
}
}
“标签”是范围过程(如断开循环)的解决方案。这是多年后我意识到的一个内在答案:你在用什么语言?php?从他帖子中的链接判断,我会说jquerySorry@Evan javascript。我想你可以使用returnfalse@PSR我使用了return false
,@nalply yes我使用了each()
。只是想知道下面的投票人是谁?我的回答有什么不正确的地方?如果我写评论的重点是我们中断
上面说的break代码在那里是非法的。我不知道你是否意识到,但是for each()
不是javascript代码。至少我不知道我以前说过。并非wc3schools.com上的所有内容都是错误的。如果我发布的链接包含正确的信息,请关闭它。此代码运行良好,没有理由投反对票。需要解释吗?try-catch应该用于错误处理,而不是用于跳转到脚本的不同部分。@我编辑了nalply,不确定您想要的是什么诚实让我们来看看是的@Konstantin D这将解决我的问题。但是我们应该说没有直接的解决办法吗?@caglaror我会说是的。但是嵌套循环呢?内部循环将继续迭代。
var arr = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0;i<arr.length;i++){
console.log(i);
compute(i);
function compute(num){
//break is illegal here
//return ends only compute function
if(num>=3) i=arr.length;
}
}