gpt4 book ai didi

jquery - 在 Jquery 的 .each() 函数中返回值时它将如何工作?

转载 作者:行者123 更新时间:2023-12-01 04:11:25 26 4
gpt4 key购买 nike

使用.each()函数,为了跳出each()循环,我们可以使用return false。

例如

$( "div" ).each(function( index, element ) {
alert('Bye...!');
return false;
});

但是,返回任何字符串值时它将如何工作?

var myDiv = $( "div" ).each(function( index, element ) {
return "xyz";
});

最佳答案

简短回答:

return$.each 中不会以这种方式工作。 return 只会退出 foreach 循环。

var myDiv = $( "div" ).each(function( index, element ) {
return "xyz";
});
console.log(myDiv);

这将输出未定义。让我们尝试不同的事情并比较输出:

长答案

我同意 Jquery docs 中的描述不够清楚。 ,他们只是说:“您可以通过返回 false 来停止回调函数中的循环。”返回变量或返回 true 怎么样?让我们比较一下不同的功能:

var stores = ["C", "B", "A"];

function HasC() {
$(stores).each(function (i, s){
if(s=="C")
//yes, we have a C, so let's return true
return true;
});
}

function HasB() {
var b = false;
$(stores).each(function (i, s){
if(s=="B"){
b=true;
return b;
}
});
}

function HasA() {
var a = false;
$(stores).each(function (i, s){
if(s=="A"){
a = true;
return false;
}
});
return a;
}
  • HasC() 将返回 undefined 但会迭代所有元素,不会中断
  • HasB 也会返回 undefined,因为 b 变量上下文就位于each 函数内部。
  • HasA() 将返回 true 并按预期工作,因为一旦我们找到“A”,我们就会使用 return false 停止循环然后在循环之后我们仍然有 var a 活着。

fiddle :http://jsfiddle.net/aXkcW/19/

关于jquery - 在 Jquery 的 .each() 函数中返回值时它将如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947813/

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