js中的逻辑与(&&)和逻辑或(||)

var a = 2;

var b = 3;

var andflag = a && b ;

var orflag = a || b;

问andflag 和orflag 分别是什么?

起初我认为: andflag 和orflag 的值都为 true; 毕竟 && 和 || 都是求Boolean ,后来发现,我错了。

答案应该是 andflag = 3,orflag = 2;

原因是这样的:

在运算过程中,首先js 会将 && 和|| 两边的值转成Boolean 类型,然后再算值 ,&&运算如果返回true,则取后面的值,如果|| 返回true,则取前面的值 , 而其中数值转换成boolean 的规则 是:

对象、非零整数、非空字符串返回true,

其它为false ;

a && b 的运算就是 :因为 a 和 b全是非零整数,所以 a 和 b 也就是true ,而 true && true 返回 true ,则取后面的b ,同理 a 和b 全是非零整数,a 和b 全是true ,则true || true 返回 true ,取|| 前面的值 也就是2;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这几天一直在看nodejs,简单的写了一个小blog.发现js跟其他的语言有很大的区别.比如说下面: 刚开始就有点...
    七里小晴天阅读 4,803评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,711评论 0 13
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,750评论 0 38
  • 16岁那年,桃子初中毕业,没有考上高中,家里不忍心这么小就外出打工,给他找了个技校,学美发。 在初秋的九月,夏天的...
    可乐加蛋挞阅读 3,821评论 0 1
  • 我们使用Topo项目管理软件做文档管理,这个软件可以为每个项目提供独立的文档库,实际使用效果不错。在使用项目文档库...
    chaul阅读 5,303评论 1 0

友情链接更多精彩内容