Javascript返回值位置

时间:2016-06-08 14:33:23

标签: javascript

我正在学习javascript,我找到了这个代码示例

function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x == null || x == "") {
    alert("Name must be filled out");
    return false;
  }
}

我想知道这是否与下面的代码相同,我将 返回值 移到 if条件下面?< / p>

function validateForm() {
 var x = document.forms["myForm"]["fname"].value;
 if (x == null || x == "") {
    alert("Name must be filled out");        
 }
 return false;
}

2 个答案:

答案 0 :(得分:2)

没有

不出所料,将return false移到条件块之外意味着您已将其更改为始终返回false。

您尚未提供有关如何调用函数的上下文,但最可能的效果是更改行为:

  

如果字段未填写,请显示提醒并停止提交表单。否则,请提交表格。

  

如果字段未填写,请显示提醒并停止提交表单。否则,仍然停止提交表单。在任何情况下都不要提交表格。

答案 1 :(得分:2)

不,不是。如果函数中缺少return语句,则应将其视为最后一行:

return undefined;

所以,第一版:

function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x == null || x == "") {
    alert("Name must be filled out");
    return false;
  }
  return undefined;
}

第二版:

function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x == null || x == "") {
    alert("Name must be filled out");        
  }
  return false;
}