我有一个函数,如果成功,它返回一个整数,但如果没有,它只返回false
。
这是我的代码的一部分:
function hellofunc(x) {
//....
if (returnvalue.length == 1) {
return returnvalue[0];
} else if (returnvalue.length > 1) {
return returnvalue[rx(0, returnvalue.length - 1)];
} else {
return false;
}
}
当函数调用此函数时 - > return returnvalue[0];
它将0
作为整数。
但是当我调用hellofunc(something);
时,我看到它写入控制台“0”但是当我输入false时它会返回false
,
JavaScript认为0
是false
?那我该怎么办?我这样做吗?
hellofunc(something)!==false
或者有更好的解决方案吗?
答案 0 :(得分:3)
hellofunc(something) !== false
正如你所说..没有更好的解决方案.. :)
答案 1 :(得分:1)
在大多数编程语言中,0都是错误的。它来自二进制数字的表示。因为在布尔逻辑中你只有2个选择 - True和False,你只需要一个位来表示它。 1表示True,0表示False。