第4章 操作符
表达式:值和操作符,运算会有一个结果;
同时,表达式中的每个数值及部分表达式,又称为 子表达式
4.1 算术运算符
+ - * / % 取余(取模)
4.2 一元运算符 *
一元运算符:只有一个操作数的运算符,一元运算会直接修改原始变量的数据;
5 + 6 两个操作数的运算符 二元运算符
++ 自身加 (自增)
– 自身减 (自减)
-
前置++
var num1 = 5; ++ num1; var num2 = 6; console.log(num1 + ++ num2); //13
-
后置++
var num1 = 5; num1 ++; var num2 = 6 console.log(num1 + num2 ++); //12
-
猜猜看
var a = 1; var b = ++a + ++a; console.log(b); //5 var a = 1; var b = a++ + ++a; console.log(b);//4 var a = 1; var b = a++ + a++; // console.log(b); // 3 var a = 1; var b = ++a + a++; console.log(b);//4
总结
前置++:先加1,后参与运算
后置++:先参与运算,后加1后置++ 运算的两个条件,满其一就会执行
1:整个表达式结束;2表达式没结束但是又被使用了;
上面两个理解后,下面两个自通
前置-- :先减1,后参与运算
后置-- :先参与运算,后减1
4.3 逻辑运算符(布尔运算符) *
&& 与 左边为真则取右边,左边为假则取左边
|| 或 左边为真则取左边,左边为假则边右边
! 非 取反
var a = 1;
var b = 2;
var c = 0;
console.log(a || b); //1
console.log(b || a); //2
console.log(c && a); //0
console.log(a || c && b); //1
// JS逻辑运算中的逻辑或和逻辑与的运算结果:
// 决定整个表达式的子表达式的值
4.4 关系运算符(比较运算符)
< > >= <= == != === !==
==与===的区别:==只进行值得比较,===类型和值同时相等,则相等
var result = '55' == 55; // true
var result = '55' === 55; // false 值相等,类型不相等
var result = 55 === 55; // true
4.5 赋值运算符
注意与数学符号的差别;
= += -= *= /= %=
例如:
var num = 0;
num += 5; //相当于 num = num + 5;
4.6 运算符的优先级 *
优先级从高到底
1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符
// 练习1:
var s = 4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true
console.log(s); //true
// 练习2:
var num = 10;
var f = 5 == num / 2 && (2 + 2 * num)
console.log(f.toString() === 22) //false
总结:
操作符的使用,基本数学运算,一元运算符自增自减及前置后置的区别,逻辑运算符及取值,关系比较运算符,赋值运算符,运算符优先级;