目录
(2)或:||(两边条件中,单边条件为true即可返回true)
6、赋值运算符:将常量、变量或表达式的值赋给某一个变量,它将运算符右边的值通过运算赋给左边的变量
由数字,运算符,变量等组成的式子被称为表达式,在程序内进行运算时和一般的数学运算逻辑相反,在程序中运算结果被称为返回值,而运算逻辑为 返回值=表达式。
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的值为7
var 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+5
c=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的值为7
var 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+4
c=10
*/
4、比较运算符:进行判断返回true和false值
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 相等,需满足值相等,相等为true,不相等为false |
=== | 全等,需值和数据类型都相等,相等为true,不相等为false |
!= | 不相等,需满足值相等,当两边值相等时,取返回值的相反值 |
!== | 不全等,需值和数据类型都相等,当两边值相等时,取返回值的相反值 |
console.log(3 > 6);
//返回值为false
console.log(3 <= 6);
//返回值为true
console.log(5 > 8);
//返回值为false
console.log(5 >= 8);
//返回值为false
console.log(5 == "5");
//返回值为true
console.log(5 === "5");
//返回值为false
console.log(!true);
//返回值为false
console.log(5 != "5");
//返回值为false
console.log(5 !== "5");
//返回值为true
5、逻辑运算符:与,或,非
(1)与:&&(两边的条件都得为true才能返回true)
console.log(5 > 7 && 5 < 7);
// false && true
//运算符前含有false,输出的返回值为false
console.log(4 < 7 && 5 < 7);
// true && true
//运算符前后都含有true,输出的返回值为true
console.log(5 > 7 && 4 > 7);
// false && false
//运算符前后都为false,输出的返回值为false
console.log(5 < 7 && 5 > 7);
// true && false
//运算符后含有false,输出的返回值为false
(2)或:||(两边条件中,单边条件为true即可返回true)
console.log(5 > 7 || 5 < 7);
// false || true
//运算符后含有true,输出的返回值为true
console.log(4 < 7 || 5 < 7);
// true || true
//运算符前后都含有true,输出的返回值为true
console.log(5 > 7 || 4 > 7);
// false || false
//运算符前后都为false,输出的返回值为false
console.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 = 2
a-=b //a = 1;b = 2
a*=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 : 表达式2
var 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);