43

所以我看到很多 JavaScript 代码(我自己写了一些)做类似的事情

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

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

在其他时候:

callSomeFunction();
return true;

基本上我从来没有理解在 JavaScript 中函数调用后返回 true/false 的真正用途。我只是假设它有某种魔力,我需要我的函数运行良好。

所以我想知道为什么?为什么我们在调用 JavaScript 函数后使用 return true 或 return false?

4

3 回答 3

33

我想很多时候当你看到这段代码时,它来自那些习惯于对表单、按钮、输入和类似事物进行事件处理程序的人。

基本上,当你有类似的东西时:

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

或者

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

callSomeFunction()返回 true,则formora将提交,否则不会。

作为函数的结果返回 true 或 false 的其他更明显的一般用途是因为它们应该返回布尔值。

于 2013-10-03T18:20:22.183 回答
17

您的代码没有意义,可能是因为它脱离了上下文。

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

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

return false 将 false 返回到单击事件。这告诉浏览器停止关注事件,例如关注链接。它与前面的函数调用无关。Javascript 或多或少从上到下运行,因此一行不能影响前一行。

于 2013-10-03T18:20:39.287 回答
14

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

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

现在如果 func() 是这样定义的

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

点击事件永远不会被执行。相反,如果写了 return true,那么 click 事件将一直被执行。

于 2013-10-03T18:20:51.140 回答