JavaScript中的return布尔值的用法和原理解析


Posted in Javascript onAugust 14, 2017

首先return作为返回关键字,他有以下两种返回方式

1.返回控制与函数结果

语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果

2.返回控制无函数结果

语法为:return;在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<A>元素,页面会跳转到该元素href属性指定的页.

例如:<a href="http:www.baidu.com;alert(11);return false;alert(22)" rel="external nofollow" >链接</a> <!-- 只会执行了alert(11);-->

 return false 就相当于终止符,return true 就相当于执行符。

在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的"onclick"事件以外还要触发一个默认事件就是执行页面的跳转。所以如果你想取消对象的默认动作就可以return false。也就是说如果你想用JS代码来局部改变一些数据而不引起页面其他部位的变化,那么你就应该在该onclick事件代码的后面加上return false;

例如:

<input type="submit" onclick="submitAction(); return false;" />

submitAction 方法里面有提交表单的动作。如果不加 return false,在执行完 submitAction 之后,submit 按钮还会继续执行它的默认事件,就会再次提交表单。这可能就是很多错误的根源。

的确,return false的含义不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。 

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

众所周知,在表单中加上onsubmit="return false;"可以阻止表单提交。

<form action="index.jsp" method="post" onsubmit="submitTest();">  <INPUT value="www">  <input type="submit" value="submit"></form>
<SCRIPT LANGUAGE="JavaScript">  function submitTest() {    // 一些逻辑判断
   return false;  }
</SCRIPT>

以上代码实际情况是表单正常提交,若想它不提交,应该将 

<form action="index.jsp" method="post" onsubmit="submitTest();">

改为 

<form action="index.jsp" method="post" onsubmit="return submitTest();">

总的来说在js中对于return用法的三种情况的总结如下:

retrun true; 返回正确的处理结果。

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

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

总结

以上所述是小编给大家介绍的JavaScript中的return布尔值的用法和原理解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
Vue如何实现组件的源码解析
Jun 08 Javascript
vue 本地环境跨域请求proxyTable的方法
Sep 19 Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 Javascript
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
vue完美实现el-table列宽自适应
May 08 Vue.js
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 #Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 #Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 #jQuery
js异步编程小技巧详解
Aug 14 #Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 #Javascript
使用yeoman构建angular应用的方法
Aug 14 #Javascript
AngularJS 购物车全选/取消全选功能的实现方法
Aug 14 #Javascript
You might like
php面向对象 字段的声明与使用
2012/06/14 PHP
PHP 面向对象详解
2012/09/13 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
React中的refs的使用教程
2018/02/13 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现视频下载功能
2017/03/14 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
python 常见的反爬虫策略
2020/09/27 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
简单聊聊H5的pushState与replaceState的用法
2018/04/03 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
最新党员的自我评价分享
2013/11/04 职场文书
工作会议欢迎词
2014/01/16 职场文书
药品促销活动方案
2014/02/14 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
员工离职证明范本
2015/06/12 职场文书
导游词之镜泊湖
2019/12/09 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs