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

js中的逻辑与中的隐式转换

2020-02-03 04:10 190 查看

今天主题逻辑与,小小总结一下 。
我觉得与其说是逻辑与还不如说是布尔与。因为关于有逻辑与的地方都是比较的是布尔值。然而以外的是返回的不一定是布尔值。分为两类。
第一类:只有比较运算符的逻辑与。(直接返回布尔值)
var a = 1;
var b = 2;
var c = 3;
console.log(a<b&&b<c); // true
console.log(a<b&&b>c); // false(比较运算符直接返回布尔值)
第二类:它只要隐式转换为false且是第一次出现的false,这个与表达式的结果就是它的值。如果隐式转换全都是true的话,那么结果就是最后一个。(先布尔再返回其值)
var a = 1;
var b = 2;
var c = 3;
var d = 0;
var e = " ";
var f = undefined;
var g = null;
var h = NaN;
console.log(a&&b&&c); //3 (隐式转换都是true,结果就是最后一个c的值)
console.log(a&&d&&e); //0 (隐式转换true false false,结果就是第一个false的d的值)
console.log(a<b && a && e); //0 (隐式转换true true false,结果就是第一个遇到的false的e的值)
console.log(a>b && a && d); //false (比较运算符直接返回true or false)
console.log(a<b && d && f); //0 (隐式转换true false false )
console.log(f && a & b ); // undefined (隐式转换false true true)
console.log(a && null & b ); //null (隐式转换true false true)
console.log(a && b& NaN ); //NaN (隐式转换true true false)。
关于强制类型的内容请查看目录。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
su_jump 发布了9 篇原创文章 · 获赞 1 · 访问量 310 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: