微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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';

原文地址:https://www.jb51.cc/js/151155.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐