4Fg 参考文章

Javascript 中 return;、return true;、return false; 的区别

在大多数情况下,为事件处理函数如果让其返回 false,可以防止默认的事件行为。例如,默认情况下,点击一个 <a> 标签元素,页面会跳转到该元素 href 属性指定的页,而 return false 就相当于终止符,return true 就相当于执行符。在 js 中 return false 的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的 "onclick" 事件以外还要触发一个默认事件就是执行页面的跳转。所以这时候如果你想取消对象的默认动作就可以 return false 来阻止它的动作。也就是说如果你想用 js 代码来局部改变一些数据而不引起页面其他部位的变化,那么你就应该在 onclick 事件代码的后面加上 return false;

function s1(){
  if(true){
    return false;
  }
}

function s2(){
  m();
  n();
  p();
}

上面两个例子,函数 s1 那样写没有问题的,if 函数体里返回出去 false,终止函数。而在函数 s2 里,如果我们在 m 函数里返回一个 return false 阻止提交,但是这并不影响函数n和函数 p 的执行。在 s2 函数里调用函数 m,那里面的 return false 对于函数 s2 来说,只是相当于返回值,并不能阻止函数 s2 的执行。

return false 只在当前函数有效,并不会影响其他外部函数的执行。

总结:

  • retrun true; - 返回正确的处理结果。
  • return false; - 返回错误的处理结果,终止处理。
  • return; - 把控制权返回给页面。

注意:在函数里 return 后面的内容将不再执行的:

function a(){
  return 10;
  document.write(50);//不执行
}