码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript -- 操作符和逻辑运算

时间:2019-06-21 22:38:36      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:abc   efi   逻辑或   使用   布尔值   是什么   基于   简写   规则   

算数操作符

+ : 加

- : 减

* : 乘

/ : 除

%:取余

递增和递减

1、递增

++a与a++都是对a进行递增的操作


区别

++a先返回递增之后的a的值

a++先返回a的原值,再返回递增之后的值

2、递减同理

赋值操作符

简单赋值:=


复合赋值:+=、-=、*=、/=、%=

复合运算可以简化我们的操作,比如var a = 5;    要给a加上5,正常情况我们会这样写 a = a + 5;,如果使用复合赋值,则简写为:a += 5;其他的几个复合赋值同理

比较操作符

>、<、>=、<=、==、===、!=、!==


==:相等,只比较值是否相等


===:相等,比较值的同时比较数据类型是否相等


!=:不相等,比较值是否不相等


!==:不相等,比较值的同时比较数据类型是否不相等


返回值:boolean型

 

三元操作符

语法:

条件 ? 执行代码1:执行代码2


说明:

可代替简单的if语句,

如果条件成立,执行代码1,否则执行代码2

var id = 76;
var res = id > 60?"合格":"不合格";
res

结果:

合格

把id的值改为55在试一下

var id = 55;
var res = id > 60?"合格":"不合格";
res

结果:

不合格

 

逻辑操作符

逻辑操作符:

&&:与

||:或

!:非

逻辑与

&& 与 (只要有一个条件不成立,返回false)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,


此时它遵循下列规则:

1、如果第一个操作数隐式类型转换后为true,则返回第二个操作数

2、如果第一个操作数隐式类型转换后为false,则返回第一个操作数

3、如果有一个操作数是null,则返回null

4、如果有一个操作数是NaN,则返回NaN

5、如果有一个操作数是undefined,则返回undefined

var num1 = 31;
var num2 = 40;
var num3 = 66;
console.log(num1 < num2 && num2 < num3)
console.log(num1 < num2 && num2 > num3)
console.log(88 && 55)
console.log(‘hello‘ && 55 && "abc")

结果:

true
false
55
abc

 

逻辑或

|| 或 (只要有一个条件成立,返回true)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它遵循下列规则:

1、如果第一个操作数隐式类型转换后为true,则返回第一个操作数

2、如果第一个操作数隐式类型转换后为false,则返回第二个操作数

3、如果两个操作数是null,则返回null

4、如果两个操作数是NaN,则返回NaN

5、如果两个操作数是undefined,则返回undefined

console.log(55 > 88 || 33 < 66);
console.log(55 != ‘55‘  || 88 === ‘88‘);
console.log(‘hello‘  || 0 );
console.log( 99  || 0 || ‘abc‘);

结果:

true
false
hello
99

 

逻辑非

! 非

说明:

1、无论操作数是什么数据类型,逻辑非都会返回一个布尔值

2、 ! ! 同时使用两个逻辑非操作符时:

第一个逻辑非操作会基于无论什么操作数返回一个布尔值,

第二个逻辑非则对该布尔值求反。

 

console.log(!false);
console.log(!88);
console.log(!0);

结果:

true
false
true

 

JavaScript -- 操作符和逻辑运算

标签:abc   efi   逻辑或   使用   布尔值   是什么   基于   简写   规则   

原文地址:https://www.cnblogs.com/zouzou-busy/p/11067031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!