JavaScript中的true和false的案例
程序员文章站
2024-02-26 20:40:46
...
参考网页https://ask.csdn.net/questions/1024438
<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)
推荐阅读
-
JavaScript中的true和false的案例
-
JavaScript中的true和false
-
php实现javascript中的escape和unescape函数
-
javascript中对象的定义、使用以及对象和原型链操作小结
-
javascript闭包 - php中的闭包函数和匿名函数有区别吗,何谓闭包?
-
JavaScript - 写一个纯函数 - 返回字符串中的 最大值 和 最小值
-
JavaScript ES6中export、import与export default的用法和区别
-
获取内联和链接中的样式(js代码)_javascript技巧
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
技术分享:理解 JavaScript 中的执行上下文和执行栈