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

所属分类: 网络编程 / JavaScript 阅读数: 705
收藏 0 赞 0 分享

首先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布尔值的用法和原理解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

浅谈Koa2框架利用CORS完成跨域ajax请求

这篇文章主要介绍了浅谈Koa2框架利用CORS完成跨域ajax请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅析Vue中method与computed的区别

在new Vue的配置参数中的computed和methods都可以处理大量的逻辑代码,但是什么时候用哪个属性,要好好区分一下才能做到正确的运用vue。这篇文章主要介绍了Vue中method与computed的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue2.0 http请求以及loading展示实例

下面小编就为大家分享一篇Vue2.0 http请求以及loading展示实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

轻松搞定jQuery+JSONP跨域请求的解决方案

了解了jsonp之后,大家应该也都明白了,jsonp主要就是用来实现跨域的获取数据,今天我们就来详细探讨下如何在实际中应用jsonp实现跨域
收藏 0 赞 0 分享

Vue2.0实现组件数据的双向绑定问题

这篇文章主要介绍了Vue2.0实现组件数据的双向绑定问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

node的process以及child_process模块学习笔记

这篇文章主要介绍了node的process以及child_process模块学习笔记,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue2.0 循环遍历加载不同图片的方法

下面小编就为大家分享一篇vue2.0 循环遍历加载不同图片的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈Vue2.0中v-for迭代语法的变化(key、index)

下面小编就为大家分享一篇浅谈Vue2.0中v-for迭代语法的变化(key、index),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用vue-aplayer插件时出现的问题的解决

这篇文章主要介绍了使用vue-aplayer插件时出现的问题的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Element-ui table中过滤条件变更表格内容的方法

下面小编就为大家分享一篇Element-ui table中过滤条件变更表格内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多