JS判断循环语句

三种常用的判断语句(条件成立做什么,不成立做什么?)

  • 1、if...else
if(条件){ //条件只要可以计算出true或false即可,例如> < =的比较/一个值或其取反
}else if(){//else if语句也可以有多个
}else if(){
}
...
else{
}

例如:
var score=prompt("请输入成绩");
			console.log(typeof(score));
			if (score==100) {
				alert("奖励一辆BMW");
			}else if(score>=80){
				alert("奖励一台iPhone");
			}else if(score>=60){
				alert("奖励一本参考书");
			}else{
				alert("没有奖励");
			}
  • 2、三元运算符 条件?条件成立做的事:条件不成立做的事。
if else的简写
let gender='male'
if (gender=='female') {
	console.log('我是女生')
}else if (gender=='male') {
	console.log('我是男生')
}

用三元运算符可以简写为:
1)如果处理的事情比较多,可以用()包起来,以逗号分隔
2)如果不需要处理事情,使用null或undefined占位
let gender='male';
gender=='male'?console.log('我是男生'):console.log('我是女生')

gender=='male'?(alert('男生!'),console.log('我是男生')):null

练习:
let a=10
if (a>0) {
	if (a<10) {
		a++
	}else{
		a--
	}
}else{
	if (a>-10) {
		a+=2
	}
}
可以改写为:
a>0?(a<10?a++:a--):(a>-10?a+=2:null)
注意:三元运算符是简单if else语句的改写,复杂的语句不要使用三目运算符,不利于阅读代码
  • 3、switch case:一个变量在不同的值的情况下对应不同的操作

			  switch(进行判断的变量){
			  		case 成立的条件:
			  			执行语句;
			  			break;//不加break,当前条件成立执行完成后,不论后面的条件是否成立都会执行下一个语句,直到遇到break为止
			  		case 成立的条件:
			  			执行语句;
			  			break;
			  			...
			  		default:
			  			执行语句:
			  			break;
			  }

var num=3;
			switch (num){
				case 1 :
				alert("星期一");
					break;
				case 2:
				alert("星期二");
					break;
				case 3:
				alert("星期三");
					break;
				case 4:
				case 5://不加break的利用
				alert('周四或周五');
				break;
				default:
					break;
			}

注意:

if else判断与switch case判断的区别:
swich case语句中的判断是绝对相等(===)

let a=10
swicth (a)
	case '10':
	console.log(a)
	break;
	default:
	break;
	// 相当于if语句===
	if (a==='10') {
	

要点
1、break与continue
break:在循环语句中遇到直接退出该循环,不再执行break后面的语句
continue:在循环中遇到直接退出当前循环,不再执行该循环中continue后面的语句,进入到下一个循环继续执行
2、=
==:进行比较时如果数据类型不同先转换为一样的数据类型然后再判断
=:数据类型不同直接视为不相等,switch case语句使用=进行判断
3、a++与a+=1或者a=a+1并不完全相等 a++纯粹的数学运算,即使遇到字符串
4、a++与++a

for (var i=0;i<10;i++) {
		console.log(i)//0
		break;//遇到break直接退出该循环
	}
	console.log(i)//0 因为i=0时就遇到了break语句退出了循环

for (var i=0;i<10;i++) {
		continue;
		console.log(i)//因为每次循环都先遇到continue语句然后退出当次循环,进入下一循环,直到i=10,结束整个循环
	}
	console.log(i)//10 i=10时结束的for循环

let a='10'
	a==10?a++:a-- //'10'==10结果为true;'10'++是数学运算
	console.log(a)//11 
	console.log(typeof a)//number

	let b='10'
	switch (b){
		case 10:
		b++
		break;
		default:
		b--
	}
	console.log(b)//9

let a='10'
	a++
	console.log(a)//11

let b='10'
	b+=1
	console.log(b)//101

let a=3
	console.log(5+(++a)+(a++)+3-2+(--a)+(a--)-2)//5+4+4+1+4+4-2=20
	console.log(a)//3
posted @ 2019-11-24 16:58  我就是要学习  阅读(1581)  评论(0编辑  收藏  举报