javascript返回true或返回false何时以及如何使用它?

oli*_*son 35 javascript

所以我看到很多JavaScript代码(我自己编写了一些代码)

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

$(document).ready(function () {
 callSomeFunction();
 return false;
});
Run Code Online (Sandbox Code Playgroud)

而在其他时间:

callSomeFunction();
return true;
Run Code Online (Sandbox Code Playgroud)

基本上我从来没有理解JavaScript中函数调用后返回true/false的真实用法.我只是假设它有某种魔力我需要我的功能才能运行良好.

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

Eri*_*ger 28

我认为很多时候,当你看到这个代码时,它来自那些习惯于表单,按钮,输入和类似事件的事件处理程序的人.

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

<form onsubmit="return callSomeFunction();"></form>
Run Code Online (Sandbox Code Playgroud)

要么

<a href="#" onclick="return callSomeFunction();"></a>`
Run Code Online (Sandbox Code Playgroud)

callSomeFunction()返回true,然后forma将提交,否则不会.

由于函数的结果,返回true或false的其他更明显的一般目的是因为它们需要返回一个布尔值.

  • 感谢您通过这一点......我也发现这个链接让我更了解:http://css-tricks.com/return-false-and-prevent-default/ (3认同)

小智 17

你的代码没有任何意义,也许是因为它脱离了上下文.

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

$('a').click(function () {
    callFunction();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

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

  • "Javascript或多或少地从上到下运行" - 除非涉及吊装时:)虽然不适用于此答案 (2认同)

pra*_*ant 12

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

<input type="button" onclick="return func();" />
Run Code Online (Sandbox Code Playgroud)

现在,如果func()定义如下

function func()
{
 // do something
return false;
}
Run Code Online (Sandbox Code Playgroud)

click事件永远不会被执行.相反,如果返回true,则会始终执行click事件.