-2

如果我写这个:

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

function DoSomething() {

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

  // more code here
}

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

哪个是最好的选择?

4

2 回答 2

2

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

于 2012-08-13T17:49:10.120 回答
2

如果这些是唯一的选项,请return;在这种情况下使用。(参见下文)

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

如果您的函数通常不返回任何内容,那么返回您喜欢的任何内容可能不会有什么坏处,但它仍然可能会使调用者感到困惑。

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

于 2012-08-13T17:52:35.130 回答