gpt4 book ai didi

Javascript 函数不会在返回时中断?

转载 作者:数据小太阳 更新时间:2023-10-29 04:57:04 26 4
gpt4 key购买 nike

我知道您应该能够通过 return 来跳出 each 语句,这正是我想要做的,但我一定是做错了什么,它看起来太简单了,我找不到它。

我有这样的代码

function create() {
var test = hasThing();
if (test) {
$('#myForm').submit();
} else {
alert('you suck!')
}
}

function hasThing() {
$('.selects').each(function() {
if (this.value != "") {
return true;
}
});
return false;
}

我已经在“return true”上设置了断点;并点击它,但 var test 始终为假,因为出于某种原因 .each() 循环继续并且 hasThing() 函数继续。我已经尝试改变一些东西,以便我在 .each() 中返回 false 以防万一,但它并没有改变任何东西。

我不明白。似乎与文档所说的工作方式背道而驰。

最佳答案

您的return true; 语句从给定each 的匿名函数返回。 return false; 行总是被执行,这解释了为什么 var test 总是 false。

将您的代码更改为

function hasThing() {
var hasThing = false;
$('.selects').each(function() {
if (this.value != "") {
hasThing = true;
return false; // breaks the $.each, but does not return from hasThing()
}
});
return hasThing;
}

关于Javascript 函数不会在返回时中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24871304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com