我正在尝试迭代一系列元素.jQuery的文档说:
jquery.Each()文档
返回非false与for循环中的continue语句相同,它将立即跳到下一次迭代.
我试过称'返回非假;' 并且'非虚假;' (没有返回)两者都没有跳到下一次迭代.相反,他们打破了循环.我错过了什么?
他们所说的非虚假是:
return true;
所以这段代码:
var arr = [ "one", "two", "three", "four", "five" ]; $.each(arr, function(i) { if(arr[i] == 'three') { return true; } alert(arr[i]); });
会警告一,二,四,五
通过'return non-false',它们意味着返回任何不能用于布尔值false的值.所以,你可以返回true
,1
,'non-false'
,或任何其他你能想到的.
Javascript有点'真实'和'虚假'的想法.如果一个变量有一个值,那么通常你会看到它有'真实性' - 无效,或者没有值倾向于'虚假'.下面的片段可能会有所帮助:
var temp1; if ( temp1 )... // false var temp2 = true; if ( temp2 )... // true var temp3 = ""; if ( temp3 ).... // false var temp4 = "hello world"; if ( temp4 )... // true
希望这有帮助吗?
此外,值得查看道格拉斯克罗克福德的这些视频
更新:感谢@cphpython发现损坏的链接 - 我现在更新为指向工作版本
Javascript语言
Javascript - 好的部分