Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用函数';s在if语句中返回值_Javascript_Function_Syntax - Fatal编程技术网

Javascript 使用函数';s在if语句中返回值

Javascript 使用函数';s在if语句中返回值,javascript,function,syntax,Javascript,Function,Syntax,希望这里有一个简短的问题 能否在if语句中使用函数的返回值?即 function queryThis(request) { return false; } if(queryThis('foo') != false) { doThat(); } 我确信这是非常简单和明显的,但我遇到了许多语法错误问题,我无法确定问题所在。您可以简单地使用 if(queryThis('foo')) { doThat(); } function queryThis(parameter) { //

希望这里有一个简短的问题

能否在if语句中使用函数的返回值?即

function queryThis(request) {

  return false;

}

if(queryThis('foo') != false) { doThat(); }
我确信这是非常简单和明显的,但我遇到了许多语法错误问题,我无法确定问题所在。

您可以简单地使用

if(queryThis('foo')) { doThat(); }

function queryThis(parameter) {
    // some code
    return true;
}

是的,您可以在示例中返回布尔值。

在排序中,您可以。如果您知道它将返回一个布尔值,您甚至可以简化它:

if ( isBar("foo") ) {
  doSomething();
}

这应该不是问题。我也看不出语法有任何错误。 以确保可以捕获变量中的返回值,并查看这是否解决了问题。
这也使得检查函数返回的内容变得更容易。

不仅可以在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
块中使用比较运算符呢?

看起来不错,尽管我会使用
!==false
相反。也许您应该发布带有语法错误的有问题代码,而不是这个简单的示例,您可以自己轻松测试。