何时以及为什么要在JavaScript中返回false?

何时以及为什么要在JavaScript中return false

通常,在事件处理程序(如onsubmit ,返回false是一种告诉事件不实际触发的方法。 所以,在提交的情况下,这意味着表单不会被提交。

我猜你说的是你经常不得不把“回报错误” 在你的事件处理程序中的语句,即

 <a href="#" onclick="doSomeFunction(); return false;">... 

“回报虚假” 在这种情况下,停止浏览器跳转到当前位置(如href =“#”所示),而只执行doSomeFunction()。 当您想要将事件添加到定位标记时,但是不希望浏览器在每次点击时跳转到每个定位点

它被用来阻止事件的传播 。 你看到当你有两个元素都有一个单击事件处理程序(例如)

 ----------------------------------- | element1 | | ------------------------- | | |element2 | | | ------------------------- | | | ----------------------------------- 

如果你点击内部元素(element2),它将触发两个元素中的单击事件:1和2.它被称为“事件冒泡”。 如果只想在element2中处理事件,则事件处理程序必须返回false来停止事件传播。

另一个例子是链接的onclick处理程序。 如果你想停止链接表单工作。 你可以添加一个onclick处理程序并返回false。 阻止事件传播到默认处理程序。

呃…在布尔函数中如何表示“不正确”?

我也是在search“js,何时使用'return false'来到这个页面的。 在其他search结果中,我发现了一个更有用,更简单的页面,关于Chris Coyier的CSS-Tricks网站: “return false;”之间的区别 和'e.preventDefault();'

他的文章的要点是:

function(){return false; }

//等于

函数(e){e.preventDefault(); e.stopPropagation(); }

尽pipe我仍然会推荐阅读整篇文章。

更新:在论证使用return false的优点之后; 作为e.preventDefault()的替代品; &e.stopPropagation(); 我的一位同事指出,返回false还会停止callback执行,如本文所述: jQuery Events:Stop(Mis)使用Return False 。

当使用jQuery的each函数时,返回true或false有意义。 看文档

我认为一个更好的问题是,为什么在你评估一组布尔型返回值的情况下,你会不会使用true / false ? 我的意思是,你可能有true / null,true / -1,其他misc。 用Javascript“虚伪”的价值取代,但你为什么要这样做呢?

当你想从一个锚标签触发javascript代码时,应该使用onclick处理程序而不是javascript:伪协议。 在onclick处理程序中运行的JavaScript代码必须返回true或false(或者expression式比evalues为true或false)回到标记本身 – 如果返回true,那么将像普通链接一样跟踪锚点的HREF。 如果返回false,那么HREF将被忽略。 这就是为什么“返回假”。 通常包含在onclick处理程序的代码末尾。

你使用return false来防止发生。 所以,如果你有一个脚本运行提交然后返回false将阻止提交工作。

在函数中调用return语句时,停止执行此函数。 如果指定,给定的值返回给函数调用者。 如果省略expression式,则返回undefined。

为更多在这里看看

简单的答案是,如果你想停止你的过程,你使用的function

例:

 function foo(a){ if(a == 'No'){ alert('Okey'); return false; }; // your syntax } 

那简单,如果var“a”是否则给文本“Okey”并停止你的function