一元运算符:只有一个操作的运算符
二元运算符:两个操作数的运算符
对定义的练习
请问 5+6 算几元运算符? 二元运算符
一元运算符:前置++、- -和后置++、- -
++自身加1 、- -自身减1
前置++
<script>
var num = 5;
//++num 表达式 先让num自身+1 再返回表达式结果
consol.log(++num);
//输出的是6
var num1 = 7;
consol.log(num + ++num1);
//输出的是14
</script>
减减同理,不再进行论述
后置++
var num = 5;
//num++ 表达式 先返回表达式的结果,然后再对num自身+1
consol.log(num++);
//输出的是5
consol.log(num);
//此时输出的是6
利用前面代码
var num1 = 7;
//consol.log(6 + 7);
consol.log(num + num1++);
//输出的是13
一元运算符的练习
var a = 1;var b = ++a + ++a ;
console.log(b)
第一个++a 2 先执行a自身+1,再返回表达式结果
第二个++a 3
b=5
var a = 1;var b = a++ + ++a ;
console.log(b)
a++ 先返回结果,再自身+1,所以应该是1
++a 应该是3
b=4
var a = 1 ; var b = a++ + a++ ;
console.log(b)
第一个a++ 先返回结果,再自身+1,所以应该是1
第二个a++ 先返回结果,所以先返回2,再自身+1
b=3
var a = 1 ; var b = ++a + a++ ;
console.log(b)
++a 表达式 2
a++ 表达式2
b=4
逻辑运算符(布尔运算符)
&& 与 两个操作数同时为true ,结果为true,否则都是false
| | 或 两个操作数有一个为true ,结果为true,否则都是false
! 非 取反
这里主要讲解一下取反。
var a = true
console.log(!a);
//输出false
关系运算符
比大小,或者相等。这里主要讲== 和 三个=
一个=是赋值,两个==是相等,三个=是相等判断
var a = 10;
var b = '10';
==判断的是变量的值是否相等
console.log(a == b);
===判断值和类型都一致才返回true
console.log(a === b);
赋值运算符简写
var num = 5;
var num1 = num * 5;
num1 +=5; //自身+5的简写
num1 -=5; //自身-5
num1 *=5; //自身*5
num1 /=5; //自身/5
运算符的优先级
优先级从高到底
1.()优先级最高
2.一元运算符++ – !
3.算数运算符先 * / % 后 + -
4,关系运算符 > >= < <=
5,相等运算符== != === !==
6.逻辑运算符 先&&后 |
7.赋值运算符
练习
var num = 10;
5 == num/2 && (2+ 2 * num).toString() === '22'
(5 == num/2) && ((2+ 2 * num).toString() === '22')
(5 == num/2) && (22.toString() === '22')
(5 == num/2) && ('22' === '22')
(5 == num/2) && (true)
(5 == 5) && (true)
(true) && (true)
true