JavaScript运算符

运算符

算术运算算符

        自增和自减运算符

比较算符

逻辑运算符

赋值运算符

运算符优先级

1.运算符

运算符(operator)也被称为——是用于实现赋值、比较和执行算数运算等功能的符号。

JavaScript中常用的运算符有:

        •算数运算符

        •递增和递减运算符

        •比较运算符

        •逻辑运算符

        •赋值运算符

2.算术算符

2.1 算术运算符概述

概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

运算符

描述

实例

+

10 + 20 = 30

-

10-20 = ^10

*

10*20 = 200

/

10/20 = 0.5

%

取余数(取模)

返回除法的余数9%2 = 1

2.2 浮点数的精度问题

浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数。

var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004

console.log(0.07 * 100) ;// 结果不是 7, 而是 : 7.000000000000001

所以:不要直接判断两个浮点数是否相等

2.4 表达式和返回值

表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合

简单理解:是由数字、运算符、变量等组成的式子

表达式最终都会有一个结果,返回给我们,我们成为返回值

3.自增和自减运算符 (也属于算术运算符)

一元运算符

运算符

描述

实例

++

自增

x=++y

x=y++

--

自减

x=--y

x=y--

3.1自增和自减运算符概述

如果需要反复给数字变量添加或减去],可以使用自增或自减运算符来完成。

在JavaScript中,自增(+ + )和自减(--)在变量前面时,我们可以称为前置运算符

在变量后面时,我们可以称为后置运算符。

注意:递增和递减运算符必须和变量配合使用。

3.2自增运算符

1.前置自增运算符

++ num前置递增,就是自加1 ,类似于num = num + 1 ,但是++ num写起来更简单。

使用口诀:先自加,再赋值

var num = 10; alert(++num + 10); / 21

2.后置自增运算符

num ++后置递增,就是自加1 ,类似于num = num + 1 ,但是num ++写起来更简单。

使用口诀:先赋值(返回原值),后自加

var num = 10; alert (10 + num++) ; // 20

3.3前置递增和后置递增小结

        •前置递增和后置递增运算符可以简化代码的编写,让变量的值+1比以前写法更简单

        •单独使用时,运行结果相同

        •与其他代码联用时,执行结果会不同

        •后置:先原值运算,后自加(先人后己)

        •前置:先自加,后运算(先已后人)

        •开发时,大多使用后置递增/减,并且代码独占一行,例如:num ++;或者num--;

4.比较运算符

4.1比较运算符概述

概念:比较运算符(关系运算符)是比较两个值,比较运算后,会返回布尔值

(true / false )作为比较运算的结果。

运算符名称

说明

案例

结果

小于号

1 < 2

true

>

大于号

1 > 2

false

> =

大于等于号(大于或者等于)

2>=2

true

< =

小于等于号(小于或者等于)

3

false

==

双等号(会转型)

37 == 37

true

!=

不等号

37 != 37

false

===

全等要求值和数据类型都一致

37 === '37'

false

4.2 小结

console.log (18 == '18')

console.log (18 ==='18')

0

5.逻辑运算符

5.1逻辑运算符概述

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

运算符名称

说明

案例

结果

&&

and

(x < 10 && y > 1) 为 true

true

||

or

(x==5 || y==5) 为 false

false

!

not

!(x==y) 为 true

true

5.2逻辑与&&

两边都是true才返回true ,否则返回false

var res = 2 > 1 && 3 > 1;

var res = 2 > 1 && 3 < 1;

true

true true

false

true false

两边都为true

其中一个为false

var res = 2 < 1 && 3 > 1;

var res = 2 < 1 && 3 >

false

false true

false false

5.3逻辑或||

两边都为false才返回false ,否则都为true

var res = 2 > 3 | | 1 < 2;

0

var res = 2 > 3 | | 1 > 2;

false false

false

5.4逻辑非!

逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是false

var isOk = !true; 
console.log(isOk); // false

5.5 短路运算(逻辑中断)

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;

1.逻辑与

        •语法:表达式1 &&表达式2

        •如果第一个表达式的值为真,则返回表达式2

        •如果第一个表达式的值为假,则返回表达式1

2. 逻辑或

        •语法:表达式1 ||表达式2

        •如果第一个表达式的值为真,则返回表达式1

        •如果第一个表达式的值为假,则返回表达式2

总结:如果运算符两边和操作数,有一个操作数不是布尔值的情况,返回的不一定是布尔值,可能是原值

6.赋值运算符

运算符名称

例子

等同于

结果

=

x=y

x=5

+=

x+=y

x=x+y

x=15

-=

x-=y

x=x-y

x=5

*=

x*=y

x=x*y

x=50

/=

x/=y

x=x/y

x=2

%=

x%=y

x=x%y

x=0

7.条件运算符(三元或三目运算符)

条件表达式 ? 条件成立的返回的值1 :条件不成立的返回值2

var age = 26; var beverage = (age >= 21) ? "Beer" : "Juice"; console.log(beverage); // "Beer"

8.运算符优先级

        •一元运算符里面的逻辑非优先级很高

        •逻辑与比逻辑或优先级高

从左到右算起

1.()圆括号的优先级最大

2. 一元运算符 ++ 、 --( ++a 优先级小于 a++ )、 ! 、+... 、-...

3. 算术运算符 **(幂) 、* 、 / 、 %(取余) 、 + 、 -

4. 比较运算符 < 、 、 >= 、 == 、 != 、=== 、!==

5. 逻辑运算符 &&(逻辑与)、|| (逻辑或)

6. 三元运算符 ? :

7. 赋值运算符 =、 += 、-= 、*= 、/= 、%=

8. 展开运算符 ...

9. 逗号运算符 ,

也可以看下表

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。

运算符

描述

. [] ()

字段访问、数组下标、函数调用以及表达式分组

++ -- - ~ ! delete new typeof void

一元运算符、返回数据类型、对象创建、未定义值

* / %

乘法、除法、取模

+ - +

加法、减法、字符串连接

> >>>

移位

< >= instanceof

小于、小于等于、大于、大于等于、instanceof

== != === !==

等于、不等于、严格相等、非严格相等

&

按位与

^

按位异或

|

按位或

&&

逻辑与

||

逻辑或

?:

条件

= oP=

赋值、运算赋值

,

多重求值

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值