调用返回布尔值的JavaScript函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用返回布尔值的JavaScript函数相关的知识,希望对你有一定的参考价值。

*已编辑*

REF:调用返回布尔值[保留]的javascript函数

function booleanFunction()
{
   if (something) return true;
   else return false;
}

我原来的问题是“在调用布尔函数时,说的是正确的吗?”:

if (booleanFunction)

要么

if (booleanFunction())

我以前读过第一个选择是正确的。你的大量回答说不然。

根据我从你的所有答复中学到的所有知识,我得出结论:

(1)if (booleanFunction)在这个if语句总是会返回true的意义上是真实的。换句话说,这个if语句等同于询问这个booleanFunction是否EXISTS,与其正确性无关。

(2)评估booleanFunction返回的值(true或false),我需要说if (booleanFunction())

我的结论是否正确?

答案

您引用的文字完全不正确。

要调用函数,请使用括号。如果函数不带参数,则调用看起来像booleanFunction()并返回一个值。

要评估值,请将其括在括号中。在if语句while循环中,值自动转换为布尔值,与(new Boolean( SOME_VALUE )).valueOf()!! (SOME_VALUE)相同。 Refer to MDN for the full conversion rules。例如,

if (booleanFunction()) {

很好,但是

if (booleanFunction) {

booleanFunction的值转换为boolean,即true,因为任何函数对象都将转换为true

另一答案

我编辑了原来的问题。希望现在完全清楚了。

以上是关于调用返回布尔值的JavaScript函数的主要内容,如果未能解决你的问题,请参考以下文章

javascript Boolean

在此上下文中仅允许返回数字或布尔值的变量表达式

具有布尔返回值的 pl/sql 函数的 OracleType?

返回布尔值的 Perl 函数实际上返回啥

javascript基础:逻辑运算符

始终返回相同布尔值的 Python 函数