2012-08-13 159 views
-2

的时候如果我写这篇文章的JavaScript回报:停止功能

$('#SomeDiv').click(DoSomething); 

function DoSomething() { 

    if (SomeCondition === true) { 
    return false; 
    } 

    // more code here 
} 

不管我是否把return;或者return false;return true;代码不会抛出异常并停止函数执行。

哪一个是最好的选择?

+2

你想达到什么目的? – xandercoded 2012-08-13 17:47:23

+0

如果SomeCondition为true,我想停止该函数。 – frenchie 2012-08-13 17:47:50

+0

所有'return's将停止函数执行。从代码的外观来看,'false'看起来是合适的,但它都是语义。 – wanovak 2012-08-13 17:48:53

回答

2

如果这些是唯一的选择,在这种情况下使用return;。 (看下面)

如果函数通常返回的东西(计算的东西,获得一些价值等),那么你肯定不想返回任何东西,因为你可能会混淆调用者。

如果你的函数通常不会返回任何东西,那么返回任何你喜欢的东西都不会有什么坏处,但是它可能仍然会让调用者感到困惑。

我个人宁愿在if之后放一个else,而不是使用return ;.如果功能太大,只需将其拉回一点。

2

如果您只是想在某些条件下停止该功能,而不在乎它返回的是什么,那么选择哪一个并不重要。如果你没有使用函数的输出,我只是使用一个简单的return;语句来阻止它进一步执行。