内联if语句并返回

时间:2012-07-04 02:05:35

标签: javascript syntax

我有一个功能,我正在尝试优化,但我遇到了一些问题。

该函数将被调用很多次,所以我试图使它快速确定返回的值并开始下一个调用。

(通过快速确定,我的意思是在函数末尾没有单个return语句。)

这是简化的代码:

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

问题是第二行似乎不是有效的JavaScript。

如何以正确的方式编写+优化?

提前谢谢!

3 个答案:

答案 0 :(得分:8)

不要为结果声明变量,只返回值。例如:

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";
}

答案 1 :(得分:3)

function myFunction(letr) {
    if (letr === " ") return { letc : " " };

    // ... other checks on letr that will return other values for letc
}

答案 2 :(得分: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
}