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