运算符
运算符也被称为操作符 是由于实现赋值,比较和执行算数运算等功能的符号;
常用的运算符;
(1)算数运算符
(2)递增递减运算符
(3)比较运算符
(4)逻辑运算符
(5)赋值运算符
算数运算符
console.log(1 +1) ; //2
console.log(1-1); //0
console.log (1*1) //1
//取余(取模)
console.log (4 %2) //0 4除2余0
//浮点数 算数运算符里面会有问题
不能直接拿着浮点数进行比较,是否相等。
运算符中有优先级 先乘除后加减,有括号先算括号里面的
(1)表达式和返回值
有数字,运算符,变量等组成的式子称为表达式;
注意:表达式最终都会有一个结果返回给我们那就称为返回值。
console.log(1+1) //2 2就是返回值
前置递增运算符
如果需要反复的给数字变量添加或者去减1 可以使用递增(++) 和递减(- -)运算符来实现
放在前面叫做前置运算符 放到后面的叫做后置运算符
前置递增: + + num ,就是自加1 类似于num = num+1 使用口诀:先自加1,后返回
例如:var age = 10;
++age; //类似于age = age+1
console.log (age); //11
简写:
var num =1;
console.log (++num); //2
后置递增运算符
后置递增,就是自加1 ,类似于num = num +1
使用口诀:先返回原值,后自加
例如 var num = 10;
console.log (num++ +10); //20
console.log(age) //21
比较运算符
概念: 比较运算符(关系运算符) 是两个数据进行处理是使用的运算符,比较运算符之后庙会返回一个布尔值,true或false
例如:
console.log(3==5) ; //false
console.log(3>=5); //false
=== , ==, =的求别
1 ===
要求的是 两侧的值和数据类型全部相等
例如: condole.log('18' === 12); //false ,一个是数字型,一个是布尔型
2.==
会默认把字符串类型转换成数字类型 ,只要求了值
3=
就是赋值,把右边的赋值给了左边。
逻辑运算符
概念:逻辑运算符是用来进行布尔值运算的,其返回的值是布尔值,后面开发中经常用于多个条件的判断
(1)逻辑与 && 相当于and 两侧全部符合 结果是true,两侧只要有一个不符合,就会是false
例如:console.log (3>5 && 5>3); //false
(2)逻辑与 || 相当于or 两侧只要有一个满足就是true;
例如:console.log(3>5|| 3>2) // true
(3)逻辑非 not 相当!
例如: console.log(!true); //false
短路运算符
概念:当多个表达式(值)时,左边的运算可以确定结果时,就不会在往后运算了。
(1)逻辑与
格式: 表达式1 && 表达式2
如果第一个表达式为真,就接着表达式2
如果第一个表达式为假,就不需要运算表达式2
例如:
console.lod(0 && 12) ; //0
console.log (123 && 456); //456
如果有空的或者否定的为假, 其余为真 0 , '', null
赋值运算符
概念:用来把数据赋值给变量的运算符
例如:
var num =0;
console.log(123 || num++);
cinsole.log(num);
运算符优先级
流程控制
概念:来控制代码的执行顺序
主要有三种结构:顺序结构,分支结构,循环结构
1.顺序结构:按照正常的代码先后顺序执行
2.分支结构
由上到下执行的代码中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果
(1)if语句
结构:if (表达式){ // 执行语句}
(2)switch语句
例如:
//执行思路:如果if里面的条件表达式为真就执行大括号里面的
如果是假的,就执行括号外面的代码
if(3<5) {
alert('沙漠骆驼');
}
(2)if,else 多分支语句
结构:if () {
//执行语句1
} else {
// 执行语句2
}
执行思路 如果表达式为真就只执行语句1,表达式为假,就执行语句2
var age = prompt ('请输入你的年龄')
if(age>=18){
alert ('带你去网吧')
}else{
alert('就回家')
if里面的语句1 和else 里面的语句2 最终只能执行 2选1
(3) if else if 多分支语句
概念:就是利用多个条件来选择不同的语句执行,得到不同的结果。
格式:
if(表达式1){
//语句1
}else if{
//语句2
}else if {
//语句3
}else{
//最后的语句
}
执行思路: 如果条件1 满足就执行语句1,退出if的执行语句,就开始判断执行语句2,满足有的话就是执行语句2,不满足就直接退出,执行语句3,以此类推,如果都不满足,就执行最好的语句。
三元表达式
有三元运算符组成的式子我们称为三元表达式
例如 ++m:一元表达式
3+5 : 二元表达式
? : 三元表达式
结构: 条件表达式 ? 表达式1 : 表达式2
执行思路: 表达式结果为真,则返回表达式1 的值,如果表达式为假,则返回 表达式2的值
var num =10;
var result = num >5 ? '是的' :‘不是的’ 表示式是有返回值的
console.log(result);
switch语句
结构: Switch (表达式1) {
case value1:
执行语句1:
break;
case value2:
执行语句2;
break
…
default:
执行最后的语句;
}
例如:
var num ='3';
switch (num){
case 1:
console.log(1);
break;
case 3:
console.log(3);
break;
}
注意:我们开发中 表达式我们经常写成变量;
num的值 和case的值相匹配的时候是全等。 必须值和数据类型一致
才可以用 num ===1;
必须要有break ,没有break就不会退出Switch。
例如:
Switch (2) {
case 1:
console.log('这是1');
break;
case 2:
console.log('这是2');
break;
default:
console.log('没有匹配结果');
}
Switch 和 if elseif语句的区别