我正在使用一个函数来检查是否填写了必填字段.我有这两个功能,应该做同样的事情,但第一个没有.在遇到退货后,javascript不应该停止执行代码吗?
此函数返回true:
//Checks if various stages are ready
function trnReady(area) {
switch (area)
{
case 'settings':
$('input.required').each(function(){
if($(this).val() == '')
{
return false;
}
});
break;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
虽然这个返回false:
//Checks if various stages are ready
function trnReady(area) {
var r = true;
switch (area)
{
case 'settings':
$('input.required').each(function(){
if($(this).val() == '')
{
r = false;
}
});
break;
}
return r;
}
Run Code Online (Sandbox Code Playgroud)
我以为第一次返回会停止执行代码?我想知道它是否与范围有关?
在第一个代码片段中,return false;只停止执行传递给jquery的每个方法的内部函数.它还相应于jquery API停止jquery迭代.但无论如何,trnReady都会返回true.
第二个代码片段是正确的,但您可以优化它,替换r = false;为return r = false;(当您已经知道其中一个字段未填充时,它将停止通过jquery迭代)
| 归档时间: |
|
| 查看次数: |
4813 次 |
| 最近记录: |