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中的this指针
Mar 18 Javascript
javascript动态加载三
Aug 22 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 Javascript
JavaScript中for-in遍历方式示例介绍
Feb 11 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
javascript对象的创建和访问
Mar 08 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
vue 实现把路由单独分离出来
Aug 13 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数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
JavaScript中的私有成员
2006/09/18 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
Python编程中对文件和存储器的读写示例
2016/01/25 Python
python中lambda()的用法
2017/11/16 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python调用c++传递数组的实例
2019/02/13 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
基于python实现坦克大战游戏
2020/10/27 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
公司会计主管岗位责任制
2014/03/01 职场文书
国旗下的演讲稿
2014/05/08 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
班主任先进事迹材料
2014/12/17 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
pandas提升计算效率的一些方法汇总
2021/05/30 Python
vue递归实现树形组件
2022/07/15 Vue.js