JavaScript中的true和false

图片说明
图片说明

<script type="text/javascript">
var a = 1;
var b = 6;
var c = 8;
var d = 0;
//结果为true false false false
console.log(a==true, b==true, c==true, d==true);
//结果为false false false false
console.log(a===true, b===true, c===true, d===true);
//结果为false false false true
console.log(!a, !b, !c, !d);
//结果为false true false false false true false
console.log(true==0, true==1, true==2, true==3, true==666, false==0, false==1);
//结果为false truehello
console.log(true == 1 + 'hello', (true == 1) + 'hello');
//结果为true false
console.log(true == '1', true == 'true');

console.log('==================');
</script>

2个回答

在js比较运算“==”的时候是这么处理的。

  • 如果有一个操作数是Boolean时,就把他convert成Number。
  • 如果有一个操作数是String,另一个是number,就把前者转换成后者。
  • 如果有一个操作符是Object,另一个不是,则调用valueOf, 把Object转换成Primitive Value, 然后按照前面的规则进行比较。

“===”就是严格相等

比较运算与逻辑运算的处理方式不同。
两个不同类型的值用==比较运算时,会先转换成同一类型再比较。
当数值型与布尔值比较时是把布尔值转换成数值型(true转换为1,false转换为0),
所以1==true 会转换为1==1 ,2==true会转换为2==1

而逻辑运算时是把数值型转换成布尔值(0转换为false,非0的数都会转换为true)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

3
JS中俩个变量的判断出现错误
3
while(true) 条件为true时,为什么定时器不会执行
1
easyui textbox 设置属性editable: false, required: true 表单验证的时候会不弹出提示信息
4
JS如何比较两个数组,当Arr1中等于1的元素对应Arr2中的元素也等于1时,返回true?
0
用vscode格式化wpy文件会给js部分自动加分号,有遇到的吗,该怎么解决?
1
想问一下js中有没有触发打开控制台的函数
3
使用Apexcharts.js中的brush类型图表,上面的折线图无法刷新,求教问题在哪?
1
vue中 axios.defaults.withCredentials = true 形成跨域,后端使用shiro
1
关于javascript localstorage和sessionstorage 的问题
1
js中charts中怎么设置在柱状图上方显示对应的数值?
1
3d网页的代码谁能帮我看一下,说的什么意思
1
springboot2.1.8集成druid连接池 无法实现sql监控
4
js object两两比较,为什么不对
0
各位大神们,谁知道怎样通过three.js导入外部3d模型,然后可以拖动模型,并且模型的一部分不能被单独拖动,这个问题困扰我很多天,现在还是没办法解决,求助各位大神了,万分感谢!
2
ajax获取数据更新table以后,jquery.datatable的js效果失效了该怎么办呀QAQ?
0
Vscode中vue的template无法使用tab键补全html代码
4
使用Thymeleaf时标签的th:text值不替换,但js是能获取到值的时为什么?
2
jsp页面引入js文件,alert对话框乱码
2
有两个数组,第二个数组里带有value 值为false 或者true,我要比较这两个数组,找出dmaId和id相同的并且值为TRUE的提出来放在一个新数组里面
1
html-webpack-plugin css 提取 动态的样式表变成Object怎么解决?