本文解析JavaScript中return关键字返回布尔值的两种模式:返回控制与结果、返回控制无结果。重点阐述return false在事件处理中阻止默认行为(如链接跳转、表单提交)的原理,以及return true与仅return的区别,通过代码示例说明如何正确取消默认事件。
JavaScript中return的两种返回方式
首先,作为返回关键字,return主要有两种返回方式。
1. 返回控制与函数结果
其语法结构为:return 表达式;。该语句会结束函数的执行并返回调用函数,同时将表达式的值作为函数的返回值。
2. 返回控制无函数结果
其语法结构为:return;。在大多数情况下,为事件处理函数返回false可以防止默认的事件行为。例如,默认情况下点击一个<A>元素,页面会跳转到该元素href属性指定的页面。
return false阻止默认行为的原理
例如:<a href="http:www.baidu.com;alert(11);return false;alert(22)" rel="external nofollow" >链接</a> <!-- 只会执行了alert(11);-->
return false 相当于终止符,而 return true 相当于执行符。
在JavaScript中,return false的作用通常是用来取消默认动作。例如,当你单击一个链接时,除了触发你的"onclick"事件以外,还会触发一个默认事件,即执行页面的跳转。因此,如果你想取消对象的默认动作,就可以使用return false。也就是说,如果你想用JS代码来局部改变一些数据而不引起页面其他部位的变化,那么你就应该在该onclick事件代码的后面加上return false。
例如:
<input type="submit" onclick="submitAction(); return false;" />
submitAction 方法里面有提交表单的动作。如果不加 return false,在执行完 submitAction 之后,submit 按钮还会继续执行它的默认事件,就会再次提交表单。这可能就是很多错误的根源。
的确,return false的含义不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。
在JavaScript中,我们常用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();">
return用法的三种情况总结
总的来说在JavaScript中对于return用法的三种情况的总结如下:
return true;返回正确的处理结果。
return false;返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为。
return;把控制权返回给页面。
总结
以上所述是小编给大家介绍的JavaScript中的return布尔值的用法和原理解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!