5

現在最適化しようとしている関数がありますが、いくつかの問題が発生しています。

関数は何度も呼び出されるので、戻り値がすぐにわかり、次の呼び出しが始まるようにしようとしています。

(すぐに決定されるということreturnは、関数の最後にステートメントが1つもないことを意味します。)

これは簡略化されたコードです:

function myFunction(letr) {
    if (letr === " ") return var letc = " ";
    // ... other checks on letr that will return other values for letc
}

問題は、2行目が有効なJavaScriptではないように見えることです。

これを正しい方法で書く+最適化するにはどうすればよいですか?

前もって感謝します !

4

3 に答える 3

12

結果の変数を宣言せず、値を返すだけです。例:

function myFunction(letr) {
  if (letr === " ") return " ";
  if (letr === "x") return "X";
  if (letr === "y") return "Y";
  return "neither";
}

条件演算子を使用することもできます。

function myFunction(letr) {
  return letr === " " ? " " :
    letr === "x" ? "X" :
    letr === "y" ? "Y" :
    "neither";
}
于 2012-07-04T02:22:35.883 に答える
4
function myFunction(letr) {
    if (letr === " ") return { letc : " " };

    // ... other checks on letr that will return other values for letc
}
于 2012-07-04T02:07:02.753 に答える
1

戻ると、関数は終了し、呼び出し元の値を取得します

function myFunction(letr) {
    var letc = " ";
    //Do some thing wit letc;
    if (letr === " ") return letr ;
    // ... other checks on letr that will return other values for letc
}
于 2012-07-04T02:09:01.793 に答える