您的位置:首页 > Web前端 > JavaScript

JavaScript中逻辑运算符

2019-08-12 22:57 58 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44642304/article/details/99350423
很多学习 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: