javascript:检查布尔值

前端之家收集整理的这篇文章主要介绍了javascript:检查布尔值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个布尔值设置为隐藏变量的形式,我有以下的 javascript.
$().ready(function() {

             var flag =  $('#popUpFlag').val();

             alert("flag = "+flag);

             if(flag){
                alert("flag is true");
             }else{
                alert("flag is false");
             }
        })

这些是警报的输出.

flag =
         flag is false


         flag = false
         flag is false


         flag = true
         flag is false

我的关注显然是第三产出.当标志为真时,为什么打印“flag is false”,而不是“flag is true”.我在IE8和FF4中测试了它

欢迎提出建议.

解决方法

不,您在隐藏字段中没有布尔值.字段中的值始终为字符串.

当您使用字符串值,就像它是一个布尔值,您会得到意想不到的结果.如果值为false,则为false,“”或null,但是字符串“false”不是,因此它被评估为true.

如果你想要一个布尔值,你必须解析字符串.一个简单的方法是简单地检查字符串是否具有特定的值:

var flag =  $('#popUpFlag').val() === 'true';

猜你在找的JavaScript相关文章