有没有更好的方法呢?
if(borrar() !== false)
{
alert('tatatata bum bum bum prapra');
}
return false;
答案 0 :(得分:21)
如果你想检查是否错误,如果没有,则发出警报,然后没有。
如果你使用if(val)
,那么任何评价为'truthy'的东西,如非空字符串,也会通过。所以这取决于你的标准有多严格。使用===
和!==
通常被认为是一种良好的做法,以避免通过javascript的隐式布尔测试意外匹配真实或虚假条件。
答案 1 :(得分:6)
如果你想要对false进行显式检查(而不是未定义,null和我假设你正在使用的其他东西!==而不是!=)那么你必须使用它。这也是一个略小的足迹
if(borrar() !== !1)
答案 2 :(得分:3)
检查某些事情是否错误..所以这是真的,就像你正在做一些量子物理学一样。
if(!(borrar() === false))
或
if(borrar() === true)
答案 3 :(得分:3)
你可以使用更简单的东西:)
if(!var){
console.log('var is false');
}
答案 4 :(得分:0)
喜欢这个吗?
if(borrar())
{
//do something
}
如果borrar()
返回true,则执行某些操作(如果它不是假的)。
答案 5 :(得分:0)
如果要让它显式检查其是否为假(布尔值),则必须使用
if(borrar()!== false)
但是在javascript中,我们通常使用虚假和真实,您可以使用
if(!borrar())
但是值0,'',null,undefined,null和NaN不会生成警报
以下值始终是虚假的: 假, ,0(零) ,”或“”(空字符串) ,空值 ,未定义 ,NaN
其他所有都是真实的。那包含着: '0'(包含单个零的字符串) ,'false'(包含文本“ false”的字符串) ,[](一个空数组) ,{}(一个空对象) ,function(){}(“空”函数)
来源https://www.sitepoint.com/javascript-truthy-falsy/
作为额外的特权,可以使用双感叹号将任何值转换为true或false(布尔类型)。
!![] === true
!!'false' === true
!!false === false
!!undefined === false