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 相关文章推荐
在你的网页中嵌入外部网页的方法
Apr 02 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
Sep 03 Javascript
js浏览器本地存储store.js介绍及应用
May 13 Javascript
javascript函数声明和函数表达式区别分析
Dec 02 Javascript
node.js中的fs.openSync方法使用说明
Dec 17 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 Javascript
JavaScript中继承原理与用法实例入门
May 09 Javascript
vue使用canvas实现移动端手写签名
Sep 22 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
php MYSQL 数据备份类
2009/06/19 PHP
关于页面优化和伪静态
2009/10/11 PHP
php中的动态调用实例分析
2015/01/07 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
收藏一些不常用,但是有用的代码
2007/03/12 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
js实现网页随机验证码
2020/10/19 Javascript
Python2随机数列生成器简单实例
2017/09/04 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
python中如何写类
2020/06/29 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
餐饮业的创业计划书范文
2013/12/26 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
新农村建设典型材料
2014/05/31 职场文书
环境卫生倡议书
2014/08/29 职场文书
高中生物教学反思
2016/02/20 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL