运算符和js语句
一、运算符
1.算术运算符
+(加) - (减) *(乘) / (除) %(取余) ++(自增:变量值加1) --(自减:变量值减1)
如果++在变量后面,则为先赋值后自增,如果++在变量前面,则为先自增后赋值。(--也是一样)
let num1 = 10; let num2 = num1++; console.log(num1,num2); // num1为11,num2为10 let num3 = 10; let num4 = ++num3; console.log(num3,num4); // num3为11,num4为112.赋值运算符
=(等于) +=(加等于) -=(减等于) *=(乘等于) /=(除等于) %=(取余等于)
将 赋值运算符 右侧的值 加到(减到,乘到,除到,取余到) 左侧的变量上 , 然后将运算结果赋给左侧的变量 就是+=(-= ,*= ,/= ,%=)
let num1 = 22; let num2 = 10; let num3 = num1+=num2 console.log(num1,num2,num3); // num1为32,num2为10,num3为32 let num4 = num1-=num2 console.log(num1,num2,num4); // num1为22,num2为10,num3为22 let num5 = num1*=num2 console.log(num1,num2,num5); // num1为220,num2为10,num3为220 let num6 = num1/=num2 console.log(num1,num2,num6); // num1为22,num2为10,num3为22 let num7 = num1%=num2 console.log(num1,num2,num7); // num1为2,num2为10,num3为23.比较运算符
==(判断值是否相等) ===(判断数据类型的值是否相等) >(大于) >=(大于等于) <(小于) <= (小于等于) !=(不等于)
4.逻辑运算符
&&(与) || (或) ! (非)
5.三元运算符
比较表达式?表达式1:表达式2(如果比较表达式条件满足则返回表达式1,如果不满足则返回表达式2)
let num1 = 22; let num2 = 10; (num1>num2)?console.log('num1>num2'):console.log('num<=num2');//num1>num26.运算符优先级排列
1️⃣小括号:()
2️⃣一元运算符:++、--、!
3️⃣算数运算符:先 * / % 后 + -
4️⃣关系运算符:>、>=、<、<=
5️⃣相等运算符:==、!=、===、!==
6️⃣逻辑运算符:先 && 后 ||
7️⃣赋值运算符:=
8️⃣逗号运算符:,
二:js语句
1. if 条件语句
if ( 条件语句 ) { 代码块 }条件语句为true(真)则执行代码块里面的内容
if ( 条件语句 ) { 代码块1 } else { 代码块2 }条件语句为true(真)则执行代码块1的内容,条件语句为false(假)则执行代码块2的内容
if ( 条件语句1 ) { 代码块1 } else if ( 条件语句2 ) { 代码块2 }else { 代码块3 }先看条件语句1为true(真)则执行代码块1的内容,条件语句1为false(假)再看条件语句2为true(真)则执行代码块2的内容,如果条件语句1和条件语句2都为false则执行代码块3的内容;条件语句可以叠加嵌套使用
let a = 10; let b = 5; if(a==b){ console.log('a等于b'); }else if (a>b){ console.log('a大于b'); //a大于b if(a==10){ console.log('a等于10'); //a等于10 }else{ console.log('a不等于10'); } }else{ console.log('a小于b'); }2. switch 分支语句
switch(表达式) {
case 条件1 :
代码块1;
break;
case 条件2 :
代码块2;
break;
default:
执行最后的语句;
break;
}
每个条件后面代码块写完之后要跟break代表结束,如果不写break,代码会继续往下走,直到遇到break,default可以不放在最后执行,放在别的位置时代码块后面要跟break进行隔断,default放在最后可以不用写break
注意点:switch中的条件会用===比较,因此case 1不会匹配到字符串“1”,同样也不能用case>1来进行判断,也不能有重复的case值判断
let day = new Date().getDay(); switch(day){ case 1: console.log('星期一'); break; case 2: console.log('星期一'); break; case 3: console.log('星期一'); break; case 4: case 5: console.log('快到周末了'); //当day的值为4的时候没有break阻止会执行‘快到周末了’,所以当day的值为4和5的时候执行'快到周末了' break; default: console.log('周末了'); break; }3. for 循环
for ( 定义变量 ; 设置条件 ; 变量操作 ; ) { 循环体 }
for(let i = 0;i<5;i++){ console.log(i); // 0 1 2 3 4 }4. while 循环
while ( 条件 ) { 循环体 }
let i = 0; while(i<5){ console.log(i); // 0 1 2 3 4 i++; }5. do while 循环
do { 循环体 } while ( 判断条件 )
do while语句即使不满足判断条件也会执行一次循环体
let i = 0; do{ console.log(i); //0 1 2 3 4 i++; }while(i<5)6. for in 循环
for( 变量名 in 带键的循环对象 ){ 循环体 }
let json = { name:'jack', age:18, core:90 }; for(i in json){ console.log(i+':'+json[i]); //name:jack age:18 core:90 }7. for of 循环
for( 变量名 of 循环对象 ){ 循环体 }
let arr = ['a','b','c']; for(i of arr){ console.log(i); //a b c }8.使用合适的循环
for循环可以用于需要执行特定的循环次数
while和do while用于当判断条件为true时执行循环,不符合条件自动跳出循环,不需要知道循环多少次
for in循环适用于循环对象的key(键)或者对象的属性名
for of循环适用于循环数组
9. 关键字 continue 和 break
continue是指跳过前面的if判断条件,继续执行后面的代码
而break时符合if的判断条件直接跳出该循环,不再执行后面的循环
for(let i = 0;i<6;i++){ if(i==3)continue; console.log(i); // 0 1 2 4 5 } for(let i = 0;i<6;i++){ if(i==3)break; console.log(i); // 0 1 2 }