[英]Using function's return value in if statement
希望这里有一个快速的问题。
你可以在 if 语句中使用函数的返回值吗? IE
function queryThis(request) {
return false;
}
if(queryThis('foo') != false) { doThat(); }
我敢肯定,这非常简单明了,但是我遇到了许多语法错误问题,而且我无法确定问题所在。
你可以简单地使用
if(queryThis('foo')) { doThat(); }
function queryThis(parameter) {
// some code
return true;
}
您不仅可以在 JavaScript 中的if
语句中使用函数,而且在几乎所有编程语言中都可以这样做。 这种情况在 JavaScript 中特别大胆,因为在其中,功能是主要公民。 功能几乎是 JavaScript 中的所有功能。 Function is object, function is interface, function is return value of another function, function could be a parameter, function creates closures, etc. Therefore, this is 100% valid.
您可以在 Firebug 中运行此示例以查看它是否正常工作。
var validator = function (input) {
return Boolean(input);
}
if (validator('')) {
alert('true is returned from function');
}
if (validator('something')) {
alert('true is returned from function');
}
另外作为提示,当我们知道表达式是 Boolean 表达式时,为什么在if
块中使用比较运算符?
总的来说,是的,你可以。 如果你知道它会返回 boolean 你甚至可以让它更简单一点:
if ( isBar("foo") ) {
doSomething();
}
这应该不是问题。 我也看不出语法有什么问题。 确保您可以在变量中捕获返回值并查看是否可以解决您的问题。 这也将更容易检查从 function 返回的内容。
是的,您可以提供它在您的示例中返回 boolean 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.