Javascript中的return作用及javascript return关键字用法详解

  javascript 中的return一直用的都比较火,关于javascript中的return作用大家了解吗,下面通过本文给大家详细介绍,具体内容如下所示:

  return 语句从当前函数退出,并从那个函数返回一个值。

  语法:

  return[()[expression][]];

  可选项 expression 参数是要从函数返回的值。如果省略,则该函数不返回值。

  用 return 语句来终止一个函数的执行,并返回 expression 的值。如果 expression 被省略,或在函数内没有 return 语句被执行,则把值 undefined 赋给调用当前函数的表达式。

  下面示例说明了 return 语句的用法:

function myfunction(arg, arg){ 
  var r; 
  r = arg * arg; 
  return(r);
}

  return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

  如果实在不需要函数返回什么值,就需要用void声明其类型。

  补充:如果你函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值的:

  下面是个非void型的函数:

int f()
{
  int i=;
  return ;
  //return(i);  //这样也可以
}

  void型的函数:

  void f()

  {

  int i=;

  //return;//这样也可以,不要这一句也可以

  }

  ps:javascript中return的作用

  这里面的return含有一些细节知识:

  例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别

  JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。

  而该值决定了当前操作是否继续。

  当返回的是true时,将继续操作。

  当返回是false时,将中断操作。

  而直接执行时(不用return)。将不会对window.event.returnvalue进行设置

  所以会默认地继续执行操作

  详细说明如下:

  例如:

  当在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中

  如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm

  否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到

  abc.htm除外)

  而 <a href="abc.htm" onclick="add_onclick()">Open</a>

  不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm

  另外补充:

  onclick事件时就相当于onclick="return true/false"

  例:

function check()
{
if(obj.value=="" )
  {
   window.alert("不能为空!");
   obj.focus();
   return false;
  }
   return true;
}

  调用方法返回true时才提交表单,反之则不提交,这是submit按钮

  ------------------------------------------------------------------------------------------

  调用js函数不需要return,但是表单却无法提交,所以在js函数中加上一句话

  例:

<script language="javascript">
function check()
{
if(obj.value=="" )
  {
   window.alert("不能为空!");
   obj.focus();
   return false;
  }
   document.myform.submit();
   return true;
}
</script>

  注:document.myform.submit();要在return true前