JS运算符

1- 算术运算符

加 +

如果 + 号两边有一个是字符串,那么就是字符串连接符

console.log('10'+20);  //'1020'

减 -       乘 *       除 /       取模 %(取余)

算术运算符两边如果不是数字,会隐式转换成数字然后运算(+除外)

自增 ++

 //++写在后面,先赋值再运算

 //++写在前面,先运算再赋值

自减 --

 //- -写在后面,先赋值再运算

 //- -写在前面,先运算再赋值

2- 比较运算符

比较操作符:>,<,>=,<=,==,===,!=,!==

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

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

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

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

返回值:boolean型

console.log(a>b);//true

var x=10,y="10",z=x==y;

console.log(z);//值是否相等,true

var z=x===y;

console.log(z);//全等,flase

console.log(null==undefined); //true

console.log(null===undefined); //flase

3- 赋值运算符

简单赋值:=

复核赋值:+=,-=,*=,/=,%=

var a=10,b=20;

a+=5;//等价 a=a+5

b%=4;//等价 b=b%4

var str="hello ";

str=str+"world";//等价 str+="world";

console.log(str);//hello world

4- 逻辑运算符  逻辑操作符:&& 与,|| 或 ,! 非

&& 与:

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

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

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

3、与操作中,如果有一个操作数是 null 、NaN、undefined 返回的打印结果null 、NaN、undefined

逻辑或||

1、有一个操作数不是布尔值时候,如果第一个操作数隐式类型转换后为true,则返回第一个操作数。

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


&&和||: 返回决定表达式最终结果那一边的值


!非

3、两个数都为null/NaN/undefined,则返回null/...

逻辑非:无论操作数为任何类型,都会返回布尔值

!!同时使用两个逻辑非:第一个会无论基于何值都返回布尔值,第二个逻辑非再次求反

5- 三目运算符

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

说明:可代替简单的if语句,

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

var soce=85;

var result=(soce>=60)?"及格":"不及格"

console.log(result);

不同数据类型比较的规律

- ① : 字符串和数字比较 : 字符串转数字,然后比较

- ② : 字符串和布尔值 : 字符串和布尔值都转数字,比较

- ③ : 数字和布尔比较 :  布尔转数字再比较

- ④ : NaN和任何的值比较都不相等,包括自己

- ⑤ : 字符串和数组 : 数组转字符串,再比较

- ⑥ : 字符串和对象 : 对象转字符串,再比较

- ⑦ : null和undefined比较相等,各自和其他数据类型的值比较都不相等

- ⑧ : 引用数据类型的值相比较永不相等

你可能感兴趣的:(JS运算符)