Javascript 布尔值可以与字符串进行比较吗
我有一个变量isRefreshed,它以下面的方式声明Javascript 布尔值可以与字符串进行比较吗,javascript,jquery,Javascript,Jquery,我有一个变量isRefreshed,它以下面的方式声明 var isRefreshed =''; 在某些情况下,可以为isRefreshed分配一个布尔值,如: isRefreshed=false; 现在有一个if检查要执行,如下所示 if(isRefreshed != '') { // Some action } 问题是,当一个布尔值被指定给isRefreshed时,在这种情况下,我的条件满足如下 true!='' 正在返回不需要的true。所以我的问题是,我们可以在jquery中
var isRefreshed ='';
在某些情况下,可以为isRefreshed分配一个布尔值,如:
isRefreshed=false;
现在有一个if检查要执行,如下所示
if(isRefreshed != '')
{
// Some action
}
问题是,当一个布尔值被指定给isRefreshed时,在这种情况下,我的条件满足如下
true!=''代码>
正在返回不需要的true。所以我的问题是,我们可以在jquery中将布尔值与字符串进行比较。您应该使用==代码>以比较类型和内容
false != '' // false - both false and '' are falsy values
false !== '' // true - Boolean isn't equal to string type
进一步阅读:
但是,在您的情况下,您可以仅使用以下工具:
if (isRefreshed) { ... }
如果(isRefreshed==true)
,这等于,但如上所述,false
和'
都是假值,将计算为假。您应该使用==代码>以比较类型和内容
false != '' // false - both false and '' are falsy values
false !== '' // true - Boolean isn't equal to string type
进一步阅读:
但是,在您的情况下,您可以仅使用以下工具:
if (isRefreshed) { ... }
这等于如果(isRefreshed==true)
,但如上所述,false
和'
都是假值,将计算为假。要对此进行扩展,请在isRefreshed!=''代码>条件要求它不是空字符串。在isRefreshed!==false
条件要求它不是值为“false”的布尔值。感谢@james it帮助展开此操作,在isRefreshed!=''中代码>条件要求它不是空字符串。在isRefreshed!==false
条件要求它不是值为“false”的布尔值。谢谢@james ithelped@JamesDonnelly下面的答案应该适用于你当前的困境,但真正的答案是:不要这样做。如果您有一个布尔值,则将其初始化为:var isRefreshed=false代码>@musefan Yeah yoy是对的,我的情况是对的,不是错的,我编辑了我的问题这里是Douglas Crockford写javascript的每个人都应该看到这一点:)@JamesDonnelly下面的答案应该适用于你当前的困境,但真正的答案是:不要这样做。如果您有一个布尔值,则将其初始化为:var isRefreshed=false代码>@musefan Yeah yoy是对的我的条件是正确的不是错误的,我已经编辑了我的问题这里是Douglas Crockford写的关于这样的东西每个写javascript的人都应该看到这一点:)