深入理解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前

  关于javascript中的 return false和return true

  return 是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return 返回,这样在调用函数的地方就可以用变量接收返回结果。return 关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以比如

  

复制代码 代码如下:

  function NullReturn(IsNull)

  {

  if(IsNull==true)

  {

  return;

  }

  }

  这样写也是可以的,这里的意思是返回空(null)

  所以有的时候return 的作用就是用来终止函数执行。

  比如

  

复制代码 代码如下:

  <html>

  <head>

  <title>return验证测试</title>

  <script language="javascript">

  function Login_Click()

  {

  if(document.form1.UsName.value=="")

  {

  alert('用户名为空');

  }

  if(document.form1.UsPwd.value=="")

  {

  alert('密码为空');

  }

  alert('登陆成功');

  }

  </script>

  </head>

  <body>

  <form name="form1">

  <input type="text" name="UsName" >用户名

  <input type="password" name="UsPwd">密码

  <input type="button" name="Login" onClick="Login_Click();" >登陆

  </form>

  </body>

  </html>

  不加return 的情况

  加return

  

复制代码 代码如下:

  <html>

  <head>

  <title>return验证测试</title>

  <script language="javascript">

  function Login_Click()

  {

  if(document.form1.UsName.value=="")

  {

  alert('用户名为空');

  return;

  }

  if(document.form1.UsPwd.value=="")

  {

  alert('密码为空');

  return;

  }

  alert('登陆成功');

  }

  </script>

  </head>

  <body>

  <form name="form1">

  <input type="text" name="UsName" >用户名

  <input type="password" name="UsPwd">密码

  <input type="button" name="Login" onClick="Login_Click();" >登陆

  </form>

  </body>

  </html>

  运行就会发现加return 和不加return 的区别,

  最简单的测试办法,上面的两个例子什么都不输入直接登陆,楼就明白了。

  不加return的现象是先提示用户名没输入,然后提示密码没输入;加了return之后遇到一个没输入之后就不再继续检测

  return false表示返回一个false值,也就是说提交是不成功的,就是不会提交上去。

  return true表法返回一个true值,也就是提交了,不管你输入没有输入值,都会提交到action指定页面。