javascript中return,return true,return false三者的用法及区别


Posted in Javascript onNovember 17, 2015

1.语法及返回方式

①返回控制与函数结果

        语法为:return 表达式;

        语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去

②返回控制无函数结果

        语法为:return;

        在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.例如,默认情况下,点击一个<a>标签元素,页面会跳转到该元素href属性指定的页. 而return false就相当于终止符,return true就相当于执行符. 在js中return false的作用一般是用来取消默认动作的.比如你单击一个链接除了触发你的"onclick"事件以外还要触发一个默认事件就是执行页面的跳转.所以这时候如果你想取消对象的默认动作就可以return false来阻止它的动作.也就是说如果你想用js代码来局部改变一些数据而不引起页面其他部位的变化,那么你就应该在onclick事件代码的后面加上return false;

在js中,我们通常用return false来阻止提交表单或者继续执行下面的代码,通俗来说就是阻止执行默认的行为.

function s1(){
  if(true){
    return false;
  }
}
function s2(){
  m();
  n();
  p();
}

上面两个例子,函数s1那样写没有问题的,if函数体里返回出去false,终止函数.而在函数s2里,如果我们在m函数里返回一个return false阻止提交,但是这并不影响函数n和函数p的执行.在s2函数里调用函数m,那里面的return false对于函数s2来说,只是相当于返回值,并不能阻止函数s2的执行.return false只在当前函数有效,并不会影响其他外部函数的执行.

总结:

return true;返回正常的处理结果.

return false;返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为.

return;把控制权返回给页面.

2.通常函数经过一系列的处理后需要给外部返回一个值,这个值一般用return返回出去,也可以是说return是向函数返回返回值,并终止函数的运行.

关于return,要注意的是在函数里return后面的内容是不再执行的.

function a(){ 
  return 10; 
  document.write(50);//不执行 
}
a();//10

上面的例子中,"return 10;"这个时候函数a的值会等于10,并且函数下面的内容不再执行,因为下面运行函数a时输入10.

究竟需不需要return来返回值,要看函数是来做什么,如果需要让它返回一个值就写return,如果不需要它返回值,就没必须写它.

function a(b,c){
  return b+c;
}
var abc=a(5,8);
console.log(abc);//13
function a(b,c){
  document.write(b+c);
}

var abc=a(5,8);//此时页面上会输出13,但其实abc是没有值的
console.log(abc);//undefined

当然,js中的return不一定非得用在函数function中,有时候也可以用来阻止某些动作,比如表单的提交,让表单的提交事件返回false,那表单就不会提交:onsubmit="return false";

Javascript 相关文章推荐
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
jquery的键盘事件修改代码
Feb 24 Javascript
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
javascript实现表格排序 编辑 拖拽 缩放
Jan 02 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
微信小程序实现原生步骤条
Jul 25 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
jquery表单验证需要做些什么
Nov 17 #Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 #Javascript
jquery验证手机号是否正确实例讲解
Nov 17 #Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 #Javascript
js弹出对话框方式小结
Nov 17 #Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
Nov 17 #Javascript
Jquery 垂直多级手风琴菜单附源码下载
Nov 17 #Javascript
You might like
dedecms系统常用术语汇总
2007/04/03 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
php session劫持和防范的方法
2013/11/12 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
php 基础函数
2017/02/10 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
python3爬虫之设计签名小程序
2018/06/19 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
解决python运行效率不高的问题
2020/07/20 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
酒店前厅员工辞职信
2014/01/08 职场文书
感恩的演讲稿
2014/05/06 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Java 多线程协作作业之信号同步
2022/05/11 Java/Android