由于某些原因,我的老板更改了我在JS中获得的数据,因此,如果我一旦收到字符串,现在我可以接收字符串或数字(从0到n)。直到今天,当我发现要测试的数字正好是0时,我才发现旧代码块没有问题。
原因是这样的代码:
if(myObject.getData()) {
...
}
else {
//here's where I go
}getData()返回字符串和数字,但是当数字为0时,if测试将其作为布尔值,结果始终是false,而两行之后,在大括号内,我需要number 0将其发送到服务器。
检查数据是否不是null、false、""、甚至布尔值,以及“保存”我的0的最佳方法是什么?
发布于 2015-07-08 15:23:14
您可以在if语句中引入OR,以使用严格相等运算符(===)检查它是否是数值0:
var data = myObject.getData();
if ( data || data === 0 )一些测试用例:
data = "" // false
data = false // false
data = undefined // false
data = 0 // true
data = 1 // true
data = "test" // truehttps://stackoverflow.com/questions/31296921
复制相似问题