2013-10-03 39 views
26

所以我看到了很多的JavaScript代码(已经写了一些我自己),做类似javascript返回true或返回false时何时以及如何使用它?

<script> 
function CallSomeFunction() 
{ 
    //function body 
} 

$(document).ready(function() { 
callSomeFunction(); 
return false; 
}); 

,并在其他时间:

callSomeFunction(); 
return true; 

基本上我从来没有明白真正使用的在JavaScript中调用函数后返回true/false。我刚刚认为它需要我的功能运行良好。

那么请我想知道为什么?为什么我们在调用JavaScript函数后使用return true或返回false?

+7

这取决于上下文。可能是取消行动。 AKA'onclick =“return false”'停止点击执行默认操作。 – epascarello

+1

函数可以返回一个值。有些事情会用返回值做一些事情。除了它所说的内容之外,它本身并不意味着什么。 – Ryan

+0

这个问题可能也有帮助[添加返回false到onclick事件的效果是什么](http://stackoverflow.com/questions/128923/whats-the-effect-of-adding-return-false-to- an-onclick-event) – light94

回答

23

我认为很多时候,当你看到这段代码时,它是来自那些习惯于形式,按钮,输入和事件的事件处理程序的人。

基本上,当你有这样的:真正的

<form onsubmit="return callSomeFunction();"></form> 

<a href="#" onclick="return callSomeFunction();"></a>` 

callSomeFunction()回报,那么forma将提交,否则将无法。

作为函数结果返回true或false的其他更明显的通用目的是因为它们被期望返回布尔值。

+3

感谢您通过点...我也发现这个链接,让我更好的理解:http:// css-tricks。com/return-false-and-prevent-default/ – oliverdejohnson

15

您的代码没有任何意义,也许是因为它与上下文无关。

如果你的意思是这样的代码:

$('a').click(function() { 
    callFunction(); 
    return false; 
}); 

返回false将返回false,点击事件。这会告诉浏览器停止关注事件,如跟随链接。它与前面的函数调用无关。 Javascript从上到下或多或少运行,所以一条线不会影响上一行。

+2

“Javascript从上到下或多或少地运行” - 除了涉及提升时以外:)不适用于此答案 –

10

返回true或false表示执行应该继续还是停在那里。所以只是一个例子

<input type="button" onclick="return func();" /> 

现在,如果FUNC()是这样

function func() 
{ 
// do something 
return false; 
} 

定义click事件将永远不会得到执行。相反,如果写入返回true,那么click事件将始终执行。

相关问题