11

私はこの機能を持っています:

function RemoveProduct() {
    if (confirm("Poista?") == return true) {
        return true;
    } else {
        return false;
    }
}

ページの[削除]ボタンをクリックすると、製品を削除するかどうかを尋ねられ、答えが「はい」の場合は削除されます。

しかし、私が知る限り、if文の条件で別の括弧を使用することはできませんか?これはどのように行う必要がありますか?

4

4 に答える 4

32

戻り値を比較するときは、trueを使用しないreturn truetrueください。

function RemoveProduct() {
  if (confirm("Poista?") == true) {
    return true;
  } else {
    return false;
  }
}

confirmからの結果はブール値であるため、比較を行う必要はありません。

function RemoveProduct() {
  if (confirm("Poista?")) {
    return true;
  } else {
    return false;
  }
}

そして、あなたはステートメントさえ必要としませんif、あなたはただから結果を返すことができますconfirm

function RemoveProduct() {
  return confirm("Poista?");
}

returnイベントで関数を使用するときは、忘れずに使用してください。例:

<input type="submit" onclick="return RemoveProduct();" />
于 2012-08-22T12:48:13.380 に答える
4

しかし、私が知る限り、if文の条件で別の括弧を使用することはできませんか?

if条件内で関数を実行することを妨げるものは何もありません。とは言うものの、明確さと読みやすさのために、私は常に条件のすべての引数をifの前に解決します。

これが大幅に簡略化されたコードです。

var confirmed = confirm('whatever');
return confirmed;
于 2012-08-22T12:40:04.673 に答える
4

confirm()ブール値を返し、それを返すことができます。そのようです:

function RemoveProduct() {
    return confirm("Poista?");
}
于 2012-08-22T12:40:56.553 に答える
3

使用するだけ

<a onclick="return confirm('ARe sure want to remove');">remove</a>
于 2012-08-22T12:40:10.473 に答える