JS中if语句参数类型为boolean&&string、boolean&&int等情况

      最近在新公司熟悉信息管理系统,由于公司的信息系统功能主要是报表数据的体现等逻辑功能上,所以采用了ExtJS开发。对于之前一直做企业服务器方面的开发的我,接触JS比较少,所以对于JS方面的知识还是相对比较薄弱的。在此我写下此文章,并不是表现自己的技术如何如何,只是想对自己在技术方面的学习的一个总结一个回顾,所以在写的时候,我只会根据个人的技术观点来写,并不会太去考究技术方面的用词等是否准确。只是想记录自己学习技术的一个历程。

      其实自己在技术方面也只是一个新人,只是个人觉得自己在学习软件开发方面,相对比较用心,比较灵活,谨记着父亲的“做一行爱一行”这句话,所以相对于其他技术新人,发展得比较快。

 

      好了,言归正转,在看项目的时候,遇到一个语句为if(a&&b){};其中,a为boolean类型,b为string类型。当时我就很好奇,这种写法也可以,我在之前的服务器应用方面的开发中一直不知道if语句还可以这么写,也许真由于自己之前的工作中接触JS比较少。后来才知道,这个语句在类里面是不可以的,在js里面其实是可以的。

      又由于最近的新公司管理制度在个人看来有点不人性化,居然不让我们做软件开发的工作人员有上网查阅的权限。所以我只能通过自己去写代码验证了。所先我先在类里面写了此if语句,确实报错,boolean和string类型不匹配。后来我在js中写入此语句,确实可以。接着我就在JS中写了如下语句用来进一步验证,加强自己对此类if语句的认识。

 

<script type="text/javascript">
        var a = "123";
        var b = "";
        var c = null;
        var d = true;
        var e = false;
        var f = 8;
        function testOne() {
            if (d && a) {                     //返回为true,弹出对话框
                alert("true与不为空的字符串情况");
            }
            if (d && b) {                // 返回false,不弹出对话框
                alert("true与为空的字符串情况");
            }
            if (d && null) {             // 返回false,不弹出对话框
                alert("true与null的情况");
            }
            if (d && f) {             // 返回true,弹出对话框
                alert("true与int的情况");
            }
            if (e && a) {                     //返回为false,不弹出对话框
                alert("false与不为空的字符串情况");
            }
            if (e && b) {                // 返回false,不弹出对话框
                alert("false与为空的字符串情况");
            }
            if (e && null) {             // 返回false,不弹出对话框
                alert("false与null的情况");
            }
            if (e && f) {             // 返回false,不弹出对话框
                alert("false与int的情况");
            }
        }
        testOne();

</script>

 

根据上面的js验证,我自己总结出了一个结论:那就是当为boolean&&string时,如果string参数的长度为0时,string返回的是false,这点从boolean为true,string为“123”、“”、null各自的结果可以判断出。当然这个结论我没上网查阅资料进行验证,不过我想我自己的猜测应该没错吧。

 

如果讲得有错误,欢迎大家进行纠正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值