Js运算符和表达式
由运算符链接的操作数据,所组成的形式称为表达式
(1),算数运算符
+,—,*,/,%,++,–,
%取余
console.log(3%2);
console.log(2%3);
结果:
应用:比如隔行换色,奇数行和偶数行换色,比如对2取余,是1就是奇数行,0是偶数行;通过身份证获取性别,身份证倒数第二位为偶数,则是女性
++自增
var i=1;
i++;
console.log(i);
var j=3;
j--;
console.log(j);
//先打印a的值,然后a再去自增,a的值就变成a+1
var a=2;
console.log(a++,a);
//先打印b的值,然后b再去自减,a的值就变成a-1
var b=2;
console.log(b--,b);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190725150253443.png)
//先给c自增变成6,然后将自增的值赋值给c,打印c为6,
var c=5;
console.log(++c,c);
结果为:
6 6
//先给d自减变成9,然后将自减的值赋值给d,打印c为9,
var d=10;
console.log(--d,d);
结果为:
9 9
(2)比较运算符
< > <= >= ==(等于) != ===(全等于) !==(全不等于)
比较运算符返回结果为布尔值
console.log(1>2);
console.log(1<2);
console.log(1==2);
console.log(1!=2);
结果为:
false
true
false
true
//两个字符串比较,比较的是首个字符,首个字符的unicode编码
console.log("7">"1");
console.log("7".charCodeAt());
console.log("1".charCodeAt());
console.log("高鹏飞">"曹蒙");
console.log("高".charCodeAt());
console.log("曹".charCodeAt());
结果:
true
true
55
49
true
39640
26361
==和===运算:
== 数值比较
=== 数值和参数类型比较
console.log(1=="1");
console.log(1==="1");
结果:
true
false
(3)逻辑运算符
|| 逻辑或
&& 逻辑且
! 逻辑非
console.log(true||false);
console.log(true&&false);
console.log(!false);
结果:
true
false
true
//判断年龄大于65或者小于12,判断为true
var age = 70;
console.log(age>=65 || age<=12);
//判断score在80分以上,并且90分以下,为true
var score = 88;
console.log(score>=80&&score<=90)
//当前的登录状态
var isLogin=true;
console.log(!isLogin);
结果为:
true
true
false
(4)位运算符
//按位与,上下两位都是1,结果是1,否则是0
console.log(3&5);
//按位或,上下两位含有1,结果是1,否则是0
console.log(3|5);
//按位异或,上下两位相同是0,不同是1
console.log(3^5);
结果为:
1
7
6
(5)赋值运算符
var x = 1;
//x++ 等同于 x=x+1
x=x+1;
console.log(x);
//x+=3等同于x=x+3
//+= -= *= /= 在原来的基础上进行+ — * /
三元运算
由三个运算数或者表达式组成的结构
如:一元:a++,a–.!a
二元:a+2
三元:a+=1
//年龄是否满18,满18,man,否则child
var age =34;
age>=18 ? console.log(“man”) : console.log(“child”);
var userName = “root222”;
var passWord = “123456”;
userName===“root” && passWord===“123456” ? console.log(“login”) : console.log(“your username or passWord is error!”);