老师这里if语句的条件为什么不用写==true呢?
来源:2-5 选择练习
慕田峪6072870
2020-12-15 16:47:46
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = 0;
var num1 = 1;
var str = "";
var str1 = 'IMOOC';
var blean = false;
if ((num || num1 || str1) == true) {
alert('hello');
}
if ((num1 && str1 && blean) == true) {
alert('world');
}
if ((!blean || str || num) == true) {
alert('hello world');
}
</script>
</body>
</html>
1回答
好帮手慕星星
2020-12-15
同学你好,if判断条件只能是true才会执行下面的语句 ,无论条件为true还是条件转化后为true。
代码中逻辑或和逻辑与的返回值可能不是true,但是会自动进行隐式转化为布尔值,不需要添加是否等于true的判断。例如第一个判断中逻辑或的返回值为1
因为num的值为0,转化为布尔值为false,所以会进行下一个num1的判断,num1的值为1,转化为布尔值为true,所以返回值是num1的值,也就是1。1转化为布尔值为true,所以会执行if语句,也就不需要添加==true的判断了。
简单理解就会if条件在不是布尔值的时候会进行隐式转化为布尔值,不需要添加额外的判断。
祝学习愉快!
相似问题