JavaScript中逻辑运算符

本文深入探讨了JavaScript中逻辑运算符的独特行为,包括取反(!)、逻辑与(&&;)和逻辑或(||)的运算规则,及其与其他编程语言如Java、C#、C的差异。文章通过实例解释了如何将各种数据类型转换为布尔值,并展示了逻辑运算符在短路计算中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 很多学习 JavaScript的人,容易被 JavaScript 的逻辑运算符的运算规则搞晕。为什么呢?因为
JavaScript的逻辑运算符和其他语言(比如:java、c#、c等)有着很大的不同。

javascript中的逻辑运算符
首先说一下,其他数据类型转换为布尔类型的规则:
null、undefined、0、NaN、空字符串转换为false,其他转化为true。
javascript中有三种逻辑运算符:
1.取反 !
首先把数据转化为布尔值,然后取反,结果为true或false

<script type="text/javascript">
	var str="hello world"
	console.log(!null);//true
	console.log(!str);//false
 </script>

2.逻辑与 &&
js中逻辑与和其他语言不太一样,如果第一个操作数是true(或者能够转为true),计算结果就是第二个操作数,如果第一个操作数是false,结果就是false(短路计算),对于一些特殊数值不遵循以上规则.(如果第一个操作数为特殊数值,则结果为特殊数值)

<script type="text/javascript">
		var str="hello world";
        var str1="";
        var a;
        var nll=null;
        var obj=new Object();
        console.log(true&&nll);
        console.log(false&&nll);
        console.log(nll&&true);//null  -->第一个操作数为特殊数值,则结果为特殊数值
        console.log(nll&&false);//null -->同上
        console.log(str1&&true);//结果为空串
        console.log(a&&true);//undefined
        console.log(true&&str);//hello world
</script>
  1. 逻辑或 ||
    如果第一个操作数不是false,结果就是第一个操作数,否则结果是第二个操作数。如果第一个操作数能够转为true,结果就是第一个操作数
<script type="text/javascript">
		var str="hello world";
        var str1="";
        var a;
        var nll=null;
        var obj=new Object();
        console.log(str||true);//hello world
        console.log(false||str);//hello world
        console.log(nll||false);//flase
        console.log(false||nll);//null
        console.log(obj||false);//{}
        console.log(str1||false);//false
        console.log(a||false);//false
        console.log(false||a);//undefined
        console.log(false||0);//false
        console.log(0||true);//ture
        console.log(NaN||true);//true
        console.log(false||NaN);//false
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值