0

是否可以制作一个布尔 if 语句,也就是说if (a method that has a void data type) = true { then do the following

还是该方法也需要是布尔值?

4

2 回答 2

0

if 表达式必须具有布尔类型。如果只是调用,则需要调用返回布尔值的方法。如果你要比较 true,通常是浪费时间,你还需要一个布尔表达式。

你想测试什么?如果您只想确定它是否正常完成,您可以使用:

try{
  method call
  code to execute if it does not throw an exception
} catch(ExceptionYouExpectItToThrow e) {
  code to execute if it does throw the exception
}

如果您尝试测试有关方法执行的其他内容,则需要指定要测试的内容。

于 2012-12-09T22:12:47.853 回答
0

在 JS 中,一个不返回任何值的函数将undefined是一个假值,即它等价于false

function foo() {
    }

    if (foo()) {
    console.log("TRUE:" + foo());
    }
        else {
        console.log("FALSE:" + foo()); // outputs: FALSE: undefined
        }

​显然测试这样一个函数的值是多余的

于 2012-12-09T22:14:00.017 回答