运算符是程序模拟人类进行计算的符号。
1.算术运算符。参与的变量必须是纯数字。+ 、- 、* 、/ 、% 、++ 、--
重点介绍自增(减)运算符:++单独使用时,放在变量前面还是后面都一样,都是自增,但若是配合表达式使用时两者有很大区别。前++,先+1,后参与表达式;后++,先用旧值参与表达式,参与完成之后再+1。
例:
var i=1;
var j=i++;
console.log(i);//2
console.log(j);
//1,i++是后++,且参与了表达式,先用初始值1参与j=i++,所以j的值是1.之后自增,i的值变为2
var i=1;
var j=i++;
console.log(i);//2
console.log(j);//2,i先+1.再参与表达式j=i++,所以j也变成了2
var n=3;
console.log((n++)+(++n)+(n++));
/*13,3+5+5.第一个n++先用初值3进行加和的表达式,所以第一个小的运算式是3,之后n+1变成4;进入第二个小的运算式++n,n先+1变成5,之后用5参与大的加和表达式;进入第三个小的运算式n++,此时n为5,先用5参与加和表达式,因此这个式子是3+5+5的结果。之后n又+1变成了6,因此下面输出n的值为6*/
console.log(n)//6
2.关系运算符:>、 <、 ==、 ===、 !=、 !==
==是等于,===是严格相等。js自带了隐式类型转换
var a=5;
var b="5";
console.log(a==b);//true js的隐式类型转换会将数字5转换成字符串"5"
console.log(a===b);//false ===必须严格相等、一模一样
在数据类型的转换时,字符串的优先级最大,任何其它数据类型遇到字符串,都转化为字符串。其次是数字,布尔类型遇到数字,true-->1,false-->0。字符串与其它数据类型连接用“+”。
!==是值和类型都不一样,!=是值或类型至少一个不一样
注意比较变量的大小时不能连写比如 a=5,b=4,c=6,不能写成b<a<c,应该写成a>b&&a<c,做判断的变量必须放在前面。
3.逻辑运算符:&&、||、!(非、取反)
4.赋值运算符:=、+=、-=、*=、/=、%=
5.三目运算符(条件运算符):?"条件成立时的值":"条件不成立时的值"。三目运算符一定会返回一个值,不能执行某件事,所以要用一个变量来存储这个值。不能嵌套多个条件,只能判断一个条件,判断多个条件时要用if-else;但若是程序中只能写运算式而不能写语句时,不能用if-else。
6.特殊运算符:typeof 用来检验数据类型