关于javascript中的 return false和return true,return 是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return 返回,这样在调用函数的地方就可以用变量接收返回结果。return 关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以比如:
function NullReturn(IsNull){
if(IsNull==true){
return;
}
}
这样写也是可以的,这里的意思是返回空(null)
表单上使用return
所以有的时候return 的作用就是用来终止函数执行,比如:
不加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的情况:
<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指定页面。
a标签上使用return
在a标签中使用return false阻止默认行为
<a href="javascript:showPic('a.png'); return false" ></a>
这种使用伪协议的方式是不推荐的,主要想说的是return false
上面代码在执行完showPic函数之后就会直接执行return false来禁止a标签默认跳转的行为
优化写法:
for (var i=; i<links.length; i++) {
links[i].onclick = function () {
showPic('a.png');
return false;
}
}