希望这里有一个简短的问题。
你能在if语句中使用函数的返回值吗?也就是说。
function queryThis(request) {
return false;
}
if(queryThis('foo') != false) { doThat(); }
我确信非常简单和明显,但是我遇到了一些语法错误的问题,并且我不能识别问题。
发布于 2011-07-15 11:31:25
您可以简单地使用
if(queryThis('foo')) { doThat(); }
function queryThis(parameter) {
// some code
return true;
}
发布于 2011-07-15 11:40:57
不仅可以在JavaScript中的if
语句中使用函数,而且在几乎所有编程语言中都可以这样做。这种情况在JavaScript中特别突出,因为在这种情况下,函数是素数。在JavaScript中,函数几乎就是一切。函数是对象,函数是接口,函数是另一个函数的返回值,函数可以是参数,函数创建闭包等。因此,这是100%有效的。
您可以在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');
}
同样作为提示,当我们知道表达式是布尔表达式时,为什么还要在if
块中使用比较运算符?
发布于 2011-07-15 11:32:36
在某种程度上,是的,你可以。如果你知道它将返回一个布尔值,你甚至可以让它变得更简单:
if ( isBar("foo") ) {
doSomething();
}
https://stackoverflow.com/questions/6706360
复制