函数返回条件

时间:2016-01-08 07:20:31

标签: javascript jquery

我在this page上看到了这段代码:(它是$ .each()的解释器)

//ARRAYS
var arr = [ "one", "two", "three", "four", "five" ];
jQuery.each(arr, function(index, value) {
       console.log(this);
       return (this != "three"); // will stop running after "three"
   });
//outputs: one two three

我不确定回复此行(this != "three"); // will stop running after "three"

为什么它会在"three"之后停止运行?第一次运行后不应该停止,因为"one"不等于"three"

3 个答案:

答案 0 :(得分:2)

return (this != "three");

所以,如果this(数组的当前元素)等于three,它将返回false并且循环中断并且不会继续进行,否则它将继续迭代,因为它将返回真。

return true; // means continue and
return false; // means break.

答案 1 :(得分:1)

this"three"之外的任何内容时,表达式的计算结果为true,因此继续迭代。

所以,例如。

this = "one";
(this != "three") = true;

答案 2 :(得分:1)

由于jQuery.each的返回规则。

jQuery.each(arr, function(index, value) {
    return true; // It means continue;
    return false; // It means break;
});