目录
一、运算符类型
1、算术运算符
2、前置递增递减运算符:先递增/递减,再返回值
3、后置递增递减运算符:先返回值,再递增递减
4、比较运算符:进行判断返回true和false值
5、逻辑运算符:与,或,非
(1)与:&&(两边的条件都得为true才能返回true)
(2)或:||(两边条件中,单边条件为true即可返回true)
(3)非:!(取返回值的相反值进行输出)
6、赋值运算符:将常量、变量或表达式的值赋给某一个变量,它将运算符右边的值通过运算赋给左边的变量
二、运算符的优先级
三、if 分支 / 双分支 / 多分支 判断语句
1、语法结构
2、执行思路
3、一些注意
四、switch分支语句:多分支语句,可以实现精准多选1
1、语法结构
2、执行思路
3、注意
五、三元表达式:有三元运算符组成的式子
1、语法结构:
2、数字补零案例
由数字,运算符,变量等组成的式子被称为表达式,在程序内进行运算时和一般的数学运算逻辑相反,在程序中运算结果被称为返回值,而运算逻辑为 返回值=表达式。
var a=5; var b=6; var c=a+b;console.log(c); //输出结果为11
一、运算符类型
1、算术运算符
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
在进行算数运算符时,使用浮点数进行运算会导致运算出现问题,且不能直接将浮点数进行比较是否相等。
2、前置递增递减运算符:先递增/递减,再返回值
在进行前置递增递减运算时需要和后置进行区分,返回值和变量分为两个部分,先对变量进行递增或递减,后续再返回已经进行运算的变量。
var a=5; //赋a为5// ++a :a=a+1 ++a //对a进行前置递增,此时须知a的返回值为6,该运算后a的值为6
console.log(a) //此时控制台输出的a为6
console.log(++a) //a=6时再次前置递增,返回值为7,该次运算后a的值为7var b=5; //赋b为5// --b :b=b-1 --b //对b进行前置递减,此时须知b的返回值为4,该运算后b的值为4
console.log(b) //此时控制台输出的b为4
console.log(--b) //b=4时再次前置递减,返回值为3,该次运算后b的值为3//重新定义a=5 b=5
var c = ++a + --a - --b + ++b;/*运算c
遵循加减乘除的运算顺序
++a运算后返回值为6,变量a为6
--a此时,a=6,运算后返回值为5,变量a为5
--b运算后返回值为4,变量b为4
++b此时,b=4,运算后返回值为5,变量b为5即该式 c=6+5-4+5c=12*/
3、后置递增递减运算符:先返回值,再递增递减
在进行后置递增递减运算时需要和前置进行区分,返回值和变量分为两个部分,先返回变量本身的值,再对变量进行递增递减。
var a=5; //赋a为5// a++ :a=a+1 a++ //对a进行后置递增,此时须知a的返回值为5,该运算后a的值为6
console.log(a) //此时控制台输出的a为6
console.log(a++) //a=6时再次后置递增,返回值为6,该次运算后a的值为7var b=5; //赋b为5// b-- :b=b-1 b-- //对b进行后置递减,此时须知b的返回值为5,该运算后b的值为4
console.log(b) //此时控制台输出的b为4
console.log(b--) //b=4时再次后置递减,返回值为4,该次运算后b的值为3//重新定义a=5 b=5
var c = a++ + a-- - b-- + b++;/*运算c
遵循加减乘除的运算顺序
a++运算后返回值为5,变量a为6
a--此时,a=6,运算后返回值为6,变量a为5
b--运算后返回值为5,变量b为4
b++此时,b=4,运算后返回值为4,变量b为5即该式 c=5+6-5+4c=10*/
4、比较运算符:进行判断返回true和false值
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 相等,需满足值相等,相等为true,不相等为false |
=== | 全等,需值和数据类型都相等,相等为true,不相等为false |
!= | 不相等,需满足值相等,当两边值相等时,取返回值的相反值 |
!== | 不全等,需值和数据类型都相等,当两边值相等时,取返回值的相反值 |
console.log(3 > 6);//返回值为falseconsole.log(3 <= 6);//返回值为trueconsole.log(5 > 8);//返回值为falseconsole.log(5 >= 8);//返回值为falseconsole.log(5 == "5");//返回值为trueconsole.log(5 === "5");//返回值为falseconsole.log(!true);//返回值为falseconsole.log(5 != "5");//返回值为falseconsole.log(5 !== "5");//返回值为true
5、逻辑运算符:与,或,非
(1)与:&&(两边的条件都得为true才能返回true)
console.log(5 > 7 && 5 < 7);// false && true //运算符前含有false,输出的返回值为falseconsole.log(4 < 7 && 5 < 7); // true && true//运算符前后都含有true,输出的返回值为trueconsole.log(5 > 7 && 4 > 7); // false && false//运算符前后都为false,输出的返回值为falseconsole.log(5 < 7 && 5 > 7); // true && false//运算符后含有false,输出的返回值为false
(2)或:||(两边条件中,单边条件为true即可返回true)
console.log(5 > 7 || 5 < 7);// false || true //运算符后含有true,输出的返回值为trueconsole.log(4 < 7 || 5 < 7); // true || true//运算符前后都含有true,输出的返回值为trueconsole.log(5 > 7 || 4 > 7); // false || false//运算符前后都为false,输出的返回值为falseconsole.log(5 < 7 || 5 > 7); // true || false//运算符前含有true,输出的返回值为true
(3)非:!(取返回值的相反值进行输出)
console.log(!(3 < 8));//(3<8)输出的值为true,使用 !运算符取返回值的相反值false//该等式输出false
在逻辑运算符内存在一种短路运算情况:
在条件表达式中,当某个操作的结果已经足以确定整个表达式的值时,后续的操作就不再执行的一种计算策略,这种特性通常出现在逻辑运算符如 "&&“(与)和”||"(或) 中。
在这种情况下当 与 的第一个条件判断完成,如果为false时后续的判断将不会进行,并直接输出false。
类似的情况在 或 中也有体现,当有某个条件达成true时,后续条件不再判断而是直接输出true。
在形成短路运算之前的运算都是正常进行,直到触发短路运算,并打断运算的判断。在编程中,短路运算可以提高效率,尤其是在处理大量数据或者复杂的条件判断时,是一种对于代码的优化手段。
6、赋值运算符:将常量、变量或表达式的值赋给某一个变量,它将运算符右边的值通过运算赋给左边的变量
= | 赋值 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
%= | 模等于 |
var a = 3;
var b = 2;a+=b //a =5; b = 2a-=b //a = 1;b = 2a*=b //a = 6;b = 2;a/=b //a = 1;b = 2;a%=b //a = 1;b = 2;
二、运算符的优先级
在进行程序运算时应注意运算符的优先级,优先级高的先运算:
三、if 分支 / 双分支 / 多分支 判断语句
1、语法结构
//if分支语句if (条件表达式){执行语句}//if双分支语句if (条件表达式) {执行语句1} else {执行语句2}//if多分支语句if (条件表达式1) { 语句1; } else if (条件表达式2) { 语句2; } else if (条件表达式2) { 语句2; } else(条件表达式2) { 语句2; }
2、执行思路
在进入if判断语句时,判断条件是否符合条件表达式的内容,输出一个boolean值,当值为true时进入该条件下的执行语句,false时跳过该条件的执行进入下一个判断语句。
3、一些注意
(1)if语句为判断语句,而不是循环语句,所以该语句最终只有一个条件能被满足,且 只能执行一个语句。
(2)当所有条件不满足时,执行最后一个else中的语句。
(3)else理论上可以任意多个
四、switch分支语句:多分支语句,可以实现精准多选1
1、语法结构
switch (表达式){case value1:执行语句1;break;case value2:执行语句2;break;...default:执行最后的语句;}
2、执行思路
利用我们的表达式的值 和 case 后面的选项值相匹配,如果匹配上,就执行该case里面的语句。
如果都没有匹配上,那么执行 default里面的语句
3、注意
(1)break是为了终止执行语句的输出,在case选择中必须添加
(2)switch主要是具体数值的选择,区别于if语句的范围选择
(3)因为具体选择的情况,所以switch后只需要填入所要进行选择的变量名即可
(4)case的判断条件为全等,即值和数据类型必须一致才可以
五、三元表达式:有三元运算符组成的式子
1、语法结构:
通过判断条件表达式,如果条件表达式结果为真则返回表达式1的值,如果条件表达式结果为假则返回表达式2的值(两个表达式由冒号隔开)
条件表达式 ? 表达式1 : 表达式2var a=3;
var b=4;
a+b>10 ? a=5 : a=7
2、数字补零案例
// 用户输入0~59之间的一个数字// 如果数字小于10,则在这个数字前面补0,(加0 拼接) 否则 不做操作// 用一个变量接受这个返回值,输出// 三元表达式 表达式 ? 表达式1 :表达式2 var a = +prompt("请输入一个值")a = a >= 10 ? a : "0" + a//该行代码表达为,判断a的大小后去选择输出表达式1或2来作为需要返回的a的值//使用if循环也可以进行操作// if (a < 10) {// a = "0" + a// }console.log(a);