欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript中的true和false的案例

程序员文章站 2024-02-26 20:40:46
...

参考网页https://ask.csdn.net/questions/1024438 

JavaScript中的true和false的案例

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>

在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)