Javascript 将0作为整数而不是布尔返回
我有一个函数,如果成功,它将返回一个整数,如果不成功,它将返回Javascript 将0作为整数而不是布尔返回,javascript,Javascript,我有一个函数,如果成功,它将返回一个整数,如果不成功,它将返回false 以下是我的部分代码: function hellofunc(x) { //.... if (returnvalue.length == 1) { return returnvalue[0]; } else if (returnvalue.length > 1) { return returnvalue[rx(0, returnv
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;
}
}
函数调用此函数时->返回返回值[0]
它将0
作为一个整数
但是当我打电话给hellofunc(某物)代码>我看到它写入控制台“0”,但当我键入false时,它返回false
JavaScript认为0
是false
?那我在这里做什么呢?我要这样做吗
hellofunc(something)!==false
还是有更好的解决办法
hellofunc(something) !== false
正如你所说……没有更好的解决办法……)
正如您所说,没有更好的解决方案:)在大多数编程语言中,0是错误的。它来自于二进制数字的表示。因为在布尔逻辑中只有两个选择-真和假,所以只需要一个位来表示它。1表示True,0表示False。在大多数编程语言中,0表示False。它来自于二进制数字的表示。因为在布尔逻辑中只有两个选择-真和假,所以只需要一个位来表示它。1表示真,0表示假。在
returnvalue
数组中是否有数字,如果有,您希望如何将这些数字解释为布尔值?哪些数字应该以true
结束,哪些应该以false
结束?是的,JavaScript认为0
是false
或人们所说的“false”。任何值都可以替换为布尔条件。其他“falsey”值包括null
、未定义的、NaN
和”
。我不确定函数的功能,但最佳实践建议函数应始终返回相同的数据类型。如果成功时返回整数,则失败时的典型返回值为负。例如:return-1 ;;参见String.indexOf(str);作为一个很好的例子,returnvalue
数组中是否有数字,如果有,您希望如何将这些数字解释为布尔值?哪些数字应该以true
结束,哪些应该以false
结束?是的,JavaScript认为0
是false
或人们所说的“false”。任何值都可以替换为布尔条件。其他“falsey”值包括null
、未定义的、NaN
和”
。我不确定函数的功能,但最佳实践建议函数应始终返回相同的数据类型。如果成功时返回整数,则失败时的典型返回值为负。例如:return-1 ;;参见String.indexOf(str);作为一个很好的例子。。。