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

kongcheng 2017-08-14

首先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;把控制权返回给页面。

总结

相关推荐