javascript逻辑运算符

  1. 取反 !
    首先把数据转化为布尔值,然后取反,结果为true或false;

  2. 逻辑与 &&
    js中逻辑与和其他语言不太一样,如果第一个操作数是true(或者能够转为true),计算结果就是第二个操作数,如果第一个操作数是false,结果就是false(短路计算),对于一些特殊数值不遵循以上规则.

<script type="text/javascript">
var a = [1,2,3]; var b = "hello"; var obj = new Object(); var d;

console.log(true && 10);//第一个操作数是true,结果是第二个操作,也就是10
console.log(false && b);//第一个操作数是false,结果flase
console.log(100 && false);//第一个操作数是100,结果flase
console.log(undefined && false);//第一个操作数是undefined,结果undefined
console.log(NaN && false);//第一个操作数是NaN,结果NaN
console.log(null && false);//第一个操作数是null,结果null
console.log('' && false);//第一个操作数是空串,结果空串
console.log(0 && 100);//结果是0
console.log(5 && 100);//100
console.log(a && b);//hello
console.log(obj && 200);//200
</script>
  1. 逻辑或 ||

如果第一个操作数不是false,结果就是第一个操作数,否则结果是第二个操作数。如果第一个操作数能够转为true,结果就是第一个操作数

<script type="text/javascript">
var a = [1,2,3]; var b = "hello"; var obj = new Object(); var d;

console.log(true || 10);//第一个操作数是true,结果是第一个操作,也就是true
console.log(false || b);//第一个操作数是false,结果是第二个操作数b
console.log(100 || false);//第一个操作数是100,结果100
console.log(undefined || 9);//第一个操作数是undefined转false,结果9
console.log(NaN || false);//第一个操作数是NaN转false,结果第二个操作数
console.log(null || a);//第一个操作数是null转false,结果a
console.log('' || false);//第一个操作数是空串转false,结果第二操作数
console.log(0 || 100);//结果是100
console.log(5 || 100);//5
console.log(a || b);//a
console.log(obj || 200);//obj
</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 分享人:周倩宇 1. ||(逻辑或) 从字面上来说,只有前后都是false的时候才返回false,否则返回true...
    胡諾阅读 340评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,256评论 0 13
  • 逻辑运算符的使用技巧 逻辑或 Logical OR (||)语法 expr1 || expr2 返回expr1如果...
    转角遇见一直熊阅读 425评论 0 1
  • 树风干的身体站在那里 像几百年前的木乃伊 他关闭 灵魂回到了那个久远的年代 他开启 迎接说笑的情侣 和放学回来的小...
    舒严阅读 160评论 0 0
  • 马龙画 画面居中,自信,强调自我,自我表达。 房子强调烟囱,关注家庭温暖,或者关注权利。窗户开在屋顶,案主有内心有...
    木又一阅读 190评论 0 0