Javascript 试图在JS中编写一个传递true和false语句的函数

Javascript 试图在JS中编写一个传递true和false语句的函数,javascript,function,Javascript,Function,我有个小问题。我想用javascript编写一个函数,该函数需要另外两个参数,用于判断函数为true和false。但我不知道怎么写。所以,我想要这样的东西: function greater (para1, para2, casetrue, casefalse) { if (para1 > para2) { casetrue } else { casefalse } } 这可能吗?因为我写了这个函数,然后用 更大(5,3,f

我有个小问题。我想用javascript编写一个函数,该函数需要另外两个参数,用于判断函数为true和false。但我不知道怎么写。所以,我想要这样的东西:

function greater (para1, para2, casetrue, casefalse) {
    if (para1 > para2) {
       casetrue
    }
    else {
         casefalse
    }
}
这可能吗?因为我写了这个函数,然后用
更大(5,3,function(){return”更大“},function(){return”更小“})
但它不起作用

有人能帮忙吗?
提前感谢

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

function greater (para1,para2,casetrue,casefalse) {
  if (para1 > para2) {
    return casetrue();
  } else {
    return casefalse();
  }
}
要使函数返回更大的值“更大”或“更小”,必须返回参数函数的返回值:

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

在Firefox 24.0/Linux上测试

与其他答案中建议的类似,
更大的
函数返回函数而不是字符串。如果这是所需的行为,则可以使用一对额外的括号调用返回的函数:

greater(5,3, function() {return "is greater"},function() {return "is smaller"})()

没关系。每个人都去过那里。你也可以
更大(5,3,function(){return“是更大的”},function(){return”是更小的”})(
@nnnnnn在原始版本中,他返回的是函数而不是字符串。这就是为什么它首先不起作用。我将把它放在一个单独的答案中,以避免误解。谢谢。对不起,是的,我意识到在评论之后,所以我删除了我的评论。起初我以为你的意思是你可以用你的函数版本做额外的
()
。@nnnnnn,这让人困惑。另一个答案更有效。非常感谢。
casefalse
casetrue
参数旨在作为回调函数,其中一个将在
greater()
中执行。但是如果它们被认为是布尔值,那么你到底为什么不使用
true
false
而不是
new Boolean(0)
new Boolean(1)
greater(5,3, function() {return "is greater"},function() {return "is smaller"})()