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 相关文章推荐
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
jquery-syntax动态语法着色示例代码
May 14 Javascript
jQuery之Deferred对象详解
Sep 04 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
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
用文本作数据处理
2006/10/09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
巧用canvas
2017/01/21 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python select.select模块通信全过程解析
2017/09/20 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
python实现多进程通信实例分析
2019/09/01 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
名企HR怎样看待求职信
2014/02/23 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
综合实践活动报告
2015/02/05 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis