【转载】JS中return的作用详解

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

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

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

而该值决定了当前操作是否继续。 当返回的是true时,将继续操作。 当返回是false时,将中断操作。

而直接执行时(不用return)。将不会对window.event.returnvalue进行设置 所以会默认地继续执行操作

详细说明如下: 例如: 当在 <a href="abc.htm" οnclick="return add_onclick()">Open</a> 中 如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm 否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外

) 而 <a href="abc.htm" οnclick="add_onclick()">Open</a> 不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm

另外补充: onclick事件时就相当于οnclick="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指定页面。

转载于:https://my.oschina.net/u/2916018/blog/760886

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值