运算符详解

Posted lrgupup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符详解相关的知识,希望对你有一定的参考价值。

    1,算术运算符

运算符

含义

实例

+

加法运算

(3+4)=7

-

减法运算

(3-4)=-1

*

乘法运算

(3*4)=12

/

除法运算

(3/4)=0.75

%

取模运算(取余)

(3%4)=3

++

自加运算

 

--

自减运算

 

-

取反运算

-(3+4)=-7

说明:其中自加和自减运算符,又可划分为前缀和后缀!

如果位于前缀的话,将先进行自加或自减再投入计算;

如果位于后缀的话,将先投入计算,运算完毕后才进行自加或自减操作!

var a=2;    var b=++a;               //最后b的值为变量a自加后的值3

var a=2;    var b=a++;    var c=a;    //最后变量b的值为变量a的值2;变量c的值则为变量a自加后的值3

  

    2,  赋值运算符

      

运算符

含义

分解表达式

=

赋值

a =b

+=

相加后赋值

a=a+b

-=

相减后赋值

a=a-b

*=

相乘后赋值

a=a*b

/=

相除后赋值

a=a/b

%=

取模后赋值

a=a%b

注意:赋值运算符还可以同时应用于多个变量!

var a=1,b=1,c=1;     a=b=c=100;   

最终变量abc的值都为100

var a=1,b=1,c=1;    a+=b-=c*=100;    

最终c的值=c*100=1*100=100b的值=b-c=1-100=-99a的值=a+b=1+(-99)=-98

像这种赋值方式,其运算方向是从右到左,而不是一昧地将各个变量的值赋为最右边的值,切记!

      3,    关系运算符

 

运算符

含义

实例

>

大于

(3>4)=false

>=

大于等于

(4>=3)=true

<

小于

(3<4)=true

<=

小于等于

(4<=3)=false

!=

不等于

(“3”!=3)=false

!==

严格不等于

(“3”!=3)=true

==

等于

(“3”==3)=true

===

严格等于

(“3”===3)=false

  1. 使用”==”和”!=”这组普通运算符进行两个表达式的比较时,javascript将会先将两个表达式的值尽量转换为相同类型的值,然后在进行比较!

(“123”==123) = true            (null==undefined) = true

注意:虽然使用==会在比较之前将两个表达式的值转换为相同类型,但是某些情况并没有按照我们的预期得到结果:

(2 == true) = false              (2 == false) = false          Boolean(2) = true

  1. 使用”===”和”!==”这组严格运算符进行两个表达式的比较时,JavaScript将不会对两个表达式进行类型转换,不同类型的值将不相等!

(“123”===123) = false            (null===undefined) = false

  1. 为了使代码中拥有更少技巧性的东西,使代码拥有更好的可读性,请坚持使用严格等于“===”,而不要使用普通等于“==”。

 

  4,逻辑运算符

           

运算符

含义

实例

!

逻辑非运算

真即假,假即真!

!true = false

!false = true

&&

逻辑与运算

两两为真方为真!

true && false = false

true && true = true

false && false = false

false && true= false

||

逻辑或运算

任一为真即为真!

True|| false =true

True|| true = true

false || false = false

false || true= false

 

说明:在进行逻辑或运算时,如果是将其结果赋值给一个变量,则就要参照另一z种情况了。此时的运算结果为:如果运算符前的值转换为布尔型之后的值为true,则返回该值的实际结果;否则返回运算符后的值的实际结果!

如:alert(0 || 3);  将输出:3

    alert(2 || 4);  将输出:2

 5,字符串运算

运算符

含义

实例

+

将两个参数拼接成一个字符串,只要一方参数为字符串,那么就会进行该种操作!

123 + “123” = “123123”

+=

只要该运算符左边的变量或者右边的表达式有一方为字符串,那么就会进行字符串的拼接操作!

var a=”123”;

a+=123;

//变量a的最终值为:”123123”

 

6.其他运算符

     typeof()

    查看相应变量的数据类型,返回值为字符串型!

typeof(“abc”) = "string"      //注:返回的结果是一个字符串类型的值

     三目条件运算符(?:)

     该运算符的运算方法为:首先需要计算问号”?”前的表达式的真假。如果结果为真,则取冒号”:”左侧的值并返回;如果结果为假,则取冒号”:”右侧的值并返回!

(1>2)?1:2 = 2

      逗号运算符(,

  该运算符将多个运算表达式通过逗号(,)将表达式连接在一起,求值顺序从左至右!

 

a=1,a++,a+=2;               //最后a的值为4

 

     运算顺序

运算符的优先级和结合性

优先级

运算符

含义

结合方向

1

()

圆括号

从左到右

 

[]

数组下标或对象属性访问

 

 

.

属性访问

 

2

逻辑非

从右到左

 

~

按位取反

 

 

++

自增

 

 

--

自减

 

 

-

符号

 

 

delete

删除对象属性或数组元素

 

 

new

调用构成函数创建对象

 

 

typeof

检测数据类型

 

 

void

未定义值

 

3

*

乘法

从左到右

 

/

除法

 

 

%

取模

 

4

+

加法

从左到右

 

-

减法

 

5

<<

左移

从左到右

 

>>

右移

 

 

>>>

无符号右移

 

6

<

小于

从左到右

 

<=

小于等于

 

 

>

大于

 

 

>=

大于等于

 

 

instanceof

检测对象是否为指定类的实例

 

7

==

等于

从左到右

 

!=

不等于

 

 

===

严格等于

 

 

!==

严格不等于

 

8

&

按位与

从左到右

9

^

按位异或

 

10

|

按位或

 

11

&&

逻辑非

 

12

||

逻辑或

 

13

?:

条件表达式

从右到左

14

=

赋值

从右到左

 

+=

进行加法运算后赋值

 

 

-=

进行减法运算后赋值

 

 

*=

进行乘法运算后赋值

 

 

/=

进行除法运算后赋值

 

 

%=

进行取模运算后赋值

 

 

>>=

进行右移运算后赋值

 

 

>>>=

进行无符号右移运算后赋值

 

 

<<=

进行左移运算后赋值

 

 

&=

进行按位与运算后赋值

 

 

|=

进行按位或运算后赋值

 

 

^=

进行按位异或运算后赋值

 

15

,

顺序求值

从左到右

 

 

 

以上是关于运算符详解的主要内容,如果未能解决你的问题,请参考以下文章

(转) Java中的负数及基本类型的转型详解

20160210.CCPP体系详解(0020天)

详解Android WebView加载html片段

20160210.CCPP体系详解(0020天)

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段