JavaScript其他运算符

JavaScript其他运算符_第1张图片
JavaScript的学习之路

赋值运算符

简单的赋值操作符由等于号 ( = ) 表示,

其作用就是把右侧的值赋给左侧的变量。

+=

      a += 5 相当于 a = a+5

-=

      a -= 5  相当于 a = a-5

*=

      a *= 5 相当于 a = a*5

/=

      a /= 5 相当于 a = a/5

%=

      a %= 5 相当于 a = a%5

关系运算符

关系运算符用来比较两个值之间的大小关系的

>

>=

<

<=

关系运算符的规则和数学中一致,用来比较两个值之间的关系,

如果关系成立则返回true,关系不成立则返回false。(任何值和NaN比较都是false)

如果比较的两个值是非数值,会将其转换为Number然后再比较。

如果比较的两个值都是字符串,此时会比较字符串的Unicode编码(要在网页中输出Unicode编码可以是这样的格式 +编码 注意这里的是10进制编码),而不会转换为Number。

彩蛋 :在html中输入 

会出现 ☠,Unicode编码中有好多你想不到的字符!

相等运算符

==

相等,判断左右两个值是否相等,如果相等返回true,如果不等返回false

相等会自动对两个值进行类型转换,如果对不同的类型进行比较,会将其转换为相同的类型然后再比较,

转换后相等它也会返回true

!=

不等,判断左右两个值是否不等,如果不等则返回true,如果相等则返回false

不等也会做自动的类型转换。

===

全等,判断左右两个值是否全等,它和相等类似,只不过它不会进行自动的类型转换,

如果两个值的类型不同,则直接返回false

!==

不全等,和不等类似,但是它不会进行自动的类型转换,如果两个值的类型不同,它会直接返回true

特殊的值:

null和undefined

由于undefined衍生自null,所以null == undefined 会返回true。

但是 null === undefined 会返回false。

NaN

NaN不与任何值相等,报告它自身 NaN == NaN //false

判断一个值是否是NaN 使用isNaN()函数

三元运算符:

语法:条件表达式?语句1:语句2;

执行流程:

先对条件表达式求值判断,

如果判断结果为true,则执行语句1,并返回执行结果

如果判断结果为false,则执行语句2,并返回执行结果

例如:x > 0 ? x : -x // 求x的绝对值

• 上边的例子,首先会执行x>0,如果返回true则执行冒号左边的代码,并将结果返回,这里就是返回x本身,如果返回false则执行冒号右边的代码,并将结果返回。

如果条件表达式非布尔值则会将其转换为布尔值再计算

优先级:

和数学中一样,JS中的运算符也是具有优先级的,

比如 先乘除 后加减 先与 后或

具体的优先级可以参考优先级的表格,在表格中越靠上的优先级越高,

优先级越高的越优先计算,优先级相同的,从左往右计算。

.、[]、 new

• ()

• ++、 --

• !、~、+(单目)、-(单目)、typeof、void、delete

• %、*、/

• +(双目)、-(双目)

• << 、 >>、 >>>

• <、<=、>、>=

• ==、!==、===

• &

• ^

• |

• &&

• ||

• ?:

• =、+=、-=、*=、/=、%=、<<=、>>=、>>>=、&=、^=、|=

,

- 优先级不需要记忆,如果拿不准的,使用()来改变优先级。

你可能感兴趣的:(JavaScript其他运算符)