Jquery每个循环都不会返回0返回

时间:2015-04-16 09:58:21

标签: javascript jquery return

退出each循环 - return 0无法正常工作。但是,将其更改为return false效果非常好。

Fiddle here

常规JavaScript循环(while,for)退出return 0。它不会破坏均匀性!

5 个答案:

答案 0 :(得分:5)

jQuery documentation

  

我们可以通过使回调函数返回$.each()来打破特定迭代的false循环。返回非假与for循环中的continue语句相同;它将立即跳到下一次迭代。

JSFiddle as example

答案 1 :(得分:2)

不同之处仅在于0false不完全相同。

通常当需要布尔值时,任何值都可以使用,并且它将被转换为布尔值。在这种情况下,0将转换为false

在jQuery $.each循环中不起作用。如果您没有专门从函数返回任何内容,则返回值为undefined。如果将它转换为也将成为false的布尔值。

$.each方法不会将返回值转换为布尔值,而是专门查找值false。任何其他值都会让循环继续。

答案 2 :(得分:1)

简单地说,0!== false。

在您自己的代码中,您有时可能会检查错误的答案:

0 == false;  // true
null == false;  // true.

然而,jQuery(正确的是)使用严格相等(===)运算符。

因此:

0 === false; // false
null === false;  // false
false === false; // true

这基本上是一个身份与平等问题: Which equals operator (== vs ===) should be used in JavaScript comparisons?

答案 3 :(得分:0)

要打破$.each循环,您在循环回调中 return false

  

返回任何其他内容会跳到下一次迭代,相当于a   continue处于正常循环中。

Refer Document

答案 4 :(得分:-1)

使用return 0,将返回零,这是一个数字。使用return false表示没有任何东西可以返回,或者没有返回。