深入理解javascript中return的作用


Posted in Javascript onDecember 30, 2013

这里面的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指定页面。

Javascript 相关文章推荐
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
jQuery中的通配符选择器使用总结
May 30 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
js实现简单的二级联动效果
Mar 09 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 Javascript
js最简单的双向绑定实例讲解
Jan 02 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 Javascript
详解vue页面首次加载缓慢原因及解决方案
Nov 06 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
禁止IE用右键的JS代码
Dec 30 #Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 #Javascript
JS的document.all函数使用示例
Dec 30 #Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 #Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 #Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
Dec 30 #Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 #Javascript
You might like
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
Python3最长回文子串算法示例
2019/03/04 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python:slice与indices的用法
2019/11/25 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
python爬取招聘要求等信息实例
2020/11/20 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
建筑班组长岗位职责
2014/01/02 职场文书
2014年迎新年联欢会活动策划方案
2014/02/26 职场文书
幼儿园开学寄语
2014/04/03 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
白酒营销策划方案
2014/08/17 职场文书
财会专业大学生求职信
2014/09/26 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
升学宴学生致辞
2015/07/27 职场文书
初中地理教学反思
2016/02/19 职场文书
《法国号》教学反思
2016/02/22 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书