Javascript:==数字和内联函数之间的运算符
我试图在使用==时使用JS内联函数,但它不起作用:Javascript:==数字和内联函数之间的运算符,javascript,Javascript,我试图在使用==时使用JS内联函数,但它不起作用: function test() { return 1; } function test2() { if (1 == test()) { //Works } } function test3() { if (1 == function () { return 1; }) { // Doesn't work } } 我做错了什么事还是不可能?如果条件: 1
function test()
{
return 1;
}
function test2()
{
if (1 == test())
{
//Works
}
}
function test3()
{
if (1 == function () { return 1; })
{
// Doesn't work
}
}
我做错了什么事还是不可能?如果条件:
1 == function () { return 1; }
尝试将数字1
与函数(而不是其返回值)进行比较。所以它显然不匹配
将其更改为如下所示的将使其通过:
1 == (function () { return 1; })()
如果条件:
1 == function () { return 1; }
尝试将数字1
与函数(而不是其返回值)进行比较。所以它显然不匹配
将其更改为如下所示的将使其通过:
1 == (function () { return 1; })()
if(1==(function(){return 1;})()
如果调用它匹配的函数,但函数本身不等于1.FWIW,在这种情况下内联函数没有意义。if(1==(function(){return 1;})()
如果调用它匹配的函数,但函数本身不等于1.FWIW,在这种情况下内联函数没有任何意义。您不需要函数表达式周围的参数,在LHS上有==
就足以使其成为函数表达式而不是声明1==function(){return 1;}()
@Quentin-谢谢你提供的信息。我总是用大括号括起来(主要是为了清楚起见)。@Quentin是真的,但通常认为最好用括号括起来。最好让他们从一个好的实践开始,然后再找出原因;)您不需要函数表达式周围的参数,在LHS上有==
就足以使其成为函数表达式而不是声明1==function(){return 1;}()
@Quentin-谢谢你提供的信息。我总是用大括号括起来(主要是为了清楚起见)。@Quentin是真的,但通常认为最好用括号括起来。最好让他们从一个好的实践开始,然后再找出原因;)