0

我有一个小问题。我想用javascript编写一个函数,该函数需要两个额外的参数,用于函数的真假。但是我不知道怎么写。所以,我想要这样的东西:

function greater (para1, para2, casetrue, casefalse) {
    if (para1 > para2) {
       casetrue
    }
    else {
         casefalse
    }
}

这可能吗?因为我写了那个函数,然后我用它调用了这个函数, greater(5,3, function() { return "is greater" }, function() { return "is smaller" })但它不起作用。

有人可以帮忙吗?提前致谢

4

4 回答 4

1

试试这种方式,否则你将返回一个函数:

function greater (para1,para2,casetrue,casefalse) {
  if (para1 > para2) {
    return casetrue();
  } else {
    return casefalse();
  }
}
于 2013-10-13T10:01:12.307 回答
0
function greater (para1, para2, casetrue, casefalse) {
 if (para1 > para2) {
   return casetrue();
  }
  else {
   return casefalse();
  }
}
于 2013-10-13T10:05:42.760 回答
0

要使函数更大返回“更大”或“更小”,必须返回参数函数的返回值:

function greater(para1, para2, casetrue, casefalse) {
            return (para1 > para2) ? casetrue() : casefalse();
}

在 Firefox 24.0 / Linux 上测试

于 2013-10-13T10:11:06.930 回答
0

就像其他答案中所建议的那样,该greater函数返回的是函数而不是字符串。如果这是所需的行为,您可以使用一对额外的括号调用返回的函数:

greater(5,3, function() {return "is greater"},function() {return "is smaller"})()
于 2013-10-13T10:21:12.480 回答