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 全选与全取消功能的实现代码
Dec 23 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
js实现用户注册协议倒计时的方法
Jan 21 Javascript
jQuery实现数秒后自动提交form的方法
Mar 05 Javascript
jQuery实现验证码功能
Mar 17 Javascript
js时间戳与日期格式之间相互转换
Dec 11 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
实例分析编写vue组件方法
Feb 12 Javascript
详解Vue之计算属性
Jun 20 Javascript
原生js实现点击按钮复制内容到剪切板
Nov 19 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
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
功能强大的php分页函数
2016/07/20 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
学校万圣节活动方案
2014/02/13 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
运动会宣传稿100字
2015/07/23 职场文书
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android