JavaScript返回空值return;的作用
要说明JavaSctipt返回空值return;的作用,我们先看看return的一些细节知识,如:onClick='returnadd_onclick()'与onClick='add_onclick()'的区别。
JavaScript在事件中调用函数时用return返回值,实际上是对window.event.returnvalue进行设置,而该值决定了当前操作是否继续。
- 当返回的是true时,将继续操作。
- 当返回的是false时,将中断操作。
而直接执行时(不用return),将不会对window.event.returnvalue进行设置,所以会默认地继续执行操作。例如,在
<ahref="abc.htm"onclick="returnadd_onclick()">Open</a>
中,如果函数add_onclick()返回true,那么页面就会打开abc.htm。否则(返回false),页面不会跳转到abc.htm,只会执行你的add_onclick()函数里的内容(add_onclick函数中控制页面转到abc.htm除外)。而不带return的语句:
<ahref="abc.htm"onclick="add_onclick()">Open</a>
不管add_onclick()返回什么值,都会在执行完add_onclick()后打开页面abc.htm。
return是Javascript里函数返回值的关键字,一个函数内处理的结果可以使用return返回,在调用函数的地方就可以用变量接收返回结果。return关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以比如
functionNullReturn(IsNull) { if(IsNull==true) { return; } }
这样写也是可以的,这里的意思是返回空(null),所以有的时候return的作用就是用来终止函数执行。再比如,不加return的情况:
<html> <head> <title>return验证测试</title> <scriptlanguage="javascript"> functionLogin_Click() { if(document.form1.UsName.value=="") { alert('用户名为空'); } if(document.form1.UsPwd.value=="") { alert('密码为空'); } alert('登陆成功'); } </script> </head> <body> <formname="form1"> <inputtype="text"name="UsName">用户名 <inputtype="password"name="UsPwd">密码 <inputtype="button"name="Login"onClick="Login_Click();">登陆 </form> </body> </html>
和加return的情况:
<html> <head> <title>return验证测试</title> <scriptlanguage="javascript"> functionLogin_Click() { if(document.form1.UsName.value=="") { alert('用户名为空'); return; } if(document.form1.UsPwd.value=="") { alert('密码为空'); return; } alert('登陆成功'); } </script> </head> <body> <formname="form1"> <inputtype="text"name="UsName">用户名 <inputtype="password"name="UsPwd">密码 <inputtype="button"name="Login"onClick="Login_Click();">登陆 </form> </body> </html>
运行就会发现加return和不加return的区别,最简单的测试办法,上面的两个例子什么都不输入直接登陆,会有如下的反应:
不加return的现象是先提示用户名没输入,然后提示密码没输入,也就是说,程序会继续执行下去;
加了return之后,遇到一个没输入之后就不再继续检测;
returnfalse表示返回一个false值,也就是说提交是不成功的,就是不会提交上去。
returntrue表法返回一个true值,也就是提交了,不管你输入没有输入值,都会提交到action指定页面。